home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The 640 MEG Shareware Studio 2
/
The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO
/
compress
/
wssi522b.zip
/
WSSI522.DOC
< prev
Wrap
Text File
|
1992-05-28
|
278KB
|
6,073 lines
Wssindex
Disk Indexing Software
Version 5.22 for MS/PC-DOS and
Wssindex/Extended Version 5.22 for AT Class Machines
Programs and documentation copyright (c) 1985-1992
by Robert W. Babcock and WSS Division of DDC
All Rights Reserved
+-------+
+----+--+ | (tm)
--+ | +-------------------
| +----+--+ | Association of
| | +-+ Shareware
+--+ o | Professionals
-----+ | +---------------------
+---+---+ MEMBER
License Terms
The shareware version of WSSINDEX and associated files may be
freely distributed provided that the entire package is made
available and only a reasonable copying fee is charged. The
shareware version is fully functional but displays a commercial
message on startup. Purchasers of the complete package will re-
ceive the shareware package, a replacement for WSSINDEX.EXE with-
out the opening screen, and instructions for suppressing the
opening screen in future shareware releases. Purchasers of
WSSINDEX/EXTENDED will also receive a protected mode executable
and setup files. Files not included in the shareware package are
licensed for use by a single user, or on one machine at a time,
and are not to be distributed. Site license users may, of
course, use as many copies as specified in their license. If
there is any question about multiple machines or users, the
"like-a-book" rule applies: it should be impossible for more than
the licensed number of copies to be used simultaneously.
90 Day Limited Warranty
The software in the complete package is warranted to perform sub-
stantially as documented for a period of 90 days from your date
of receipt. The media on which either the complete or evaluation
version of this software is provided is warranted to be readable
for 30 days. All other warranties relating to this software,
whether expressed or implied, are disclaimed. Determination of
the suitability of this software for a particular purpose is the
responsibility of the user. In no event shall WSS Division of
DDC or Robert W. Babcock be liable for damages exceeding the
price paid to license this software.
Table of Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . 1
Installation . . . . . . . . . . . . . . . . . . . . . . . . 1
Wssindex/Extended Installation . . . . . . . . . . . . . . . 2
Unlocking Demo Releases . . . . . . . . . . . . . . . . . . . 3
Overview and Tutorial . . . . . . . . . . . . . . . . . . . . 4
Setup and General Information . . . . . . . . . . . . . . . . 7
Starting up . . . . . . . . . . . . . . . . . . . . . . . . . 8
Pop-up File Selection . . . . . . . . . . . . . . . . . . . . 8
Command Defaults . . . . . . . . . . . . . . . . . . . . . . 9
Aborting commands . . . . . . . . . . . . . . . . . . . . . . 9
The Dreaded Abort, Retry, Fail? . . . . . . . . . . . . . . . 9
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 10
Archive and Graphics Files . . . . . . . . . . . . . . . . . 10
Archive Formats Supported . . . . . . . . . . . . . . . . 11
Graphics Formats Supported . . . . . . . . . . . . . . . 13
Navigating through the menus . . . . . . . . . . . . . . . . 13
Main Menu . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Add or label disks . . . . . . . . . . . . . . . . . . . 15
Quick Find . . . . . . . . . . . . . . . . . . . . . . . 15
Print and other output menu . . . . . . . . . . . . . . . 15
Write database on disk . . . . . . . . . . . . . . . . . 15
Display statistics . . . . . . . . . . . . . . . . . . . 16
List directory . . . . . . . . . . . . . . . . . . . . . 16
Get or merge a database from disk . . . . . . . . . . . . 17
Get configuration file and matching database . . . . . . 17
Change cOnfiguration . . . . . . . . . . . . . . . . . . 17
Add/modify Comments . . . . . . . . . . . . . . . . . . . 17
Import comments . . . . . . . . . . . . . . . . . . . . . 17
ReName a disk in the database . . . . . . . . . . . . . . 19
ReName a disk with a mixed case label . . . . . . . . . . 19
Remove a disk from the database . . . . . . . . . . . . . 19
Remove all disks . . . . . . . . . . . . . . . . . . . . 19
Purge duplicate Volumes . . . . . . . . . . . . . . . . . 19
Push to DOS . . . . . . . . . . . . . . . . . . . . . . . 20
Quit and return to DOS . . . . . . . . . . . . . . . . . 20
Quick Quit and return to DOS . . . . . . . . . . . . . . 20
Wssindex 5.22 i Table of Contents
Print menu . . . . . . . . . . . . . . . . . . . . . . . . . 21
Print (and sort) . . . . . . . . . . . . . . . . . . . . 21
Find a file in the database . . . . . . . . . . . . . . . 25
Quick Find . . . . . . . . . . . . . . . . . . . . . . . 25
Zippy text search . . . . . . . . . . . . . . . . . . . . 25
List Duplicate files . . . . . . . . . . . . . . . . . . 25
List Unique files . . . . . . . . . . . . . . . . . . . . 26
List files which are not Backed up . . . . . . . . . . . 26
List Volume names . . . . . . . . . . . . . . . . . . . . 27
Quick list of Volume names . . . . . . . . . . . . . . . 27
Multi-column listings . . . . . . . . . . . . . . . . . . 27
MulTi-column listing of duplicate, unique or not backed
up files . . . . . . . . . . . . . . . . . . . . . . 28
Disk Covers . . . . . . . . . . . . . . . . . . . . . . . 28
Disk Labels . . . . . . . . . . . . . . . . . . . . . . . 29
Read a printer definition file . . . . . . . . . . . . . 30
COnfiguration menu . . . . . . . . . . . . . . . . . . . 30
Return to main menu . . . . . . . . . . . . . . . . . . . 30
Indexing Menu . . . . . . . . . . . . . . . . . . . . . . . . 30
Start Indexing . . . . . . . . . . . . . . . . . . . . . 31
Add Dummy entries . . . . . . . . . . . . . . . . . . . . 32
IndeX ignoring labels . . . . . . . . . . . . . . . . . . 32
List directory . . . . . . . . . . . . . . . . . . . . . 32
Label a disk on the labeling drive . . . . . . . . . . . 33
COnfiguration menu . . . . . . . . . . . . . . . . . . . 33
Return to main menu . . . . . . . . . . . . . . . . . . . 33
First indexing drive . . . . . . . . . . . . . . . . . . 33
Second indexing drive . . . . . . . . . . . . . . . . . . 33
LaBeling drive . . . . . . . . . . . . . . . . . . . . . 33
Indexing sTarts from . . . . . . . . . . . . . . . . . . 34
Auto-category strinG . . . . . . . . . . . . . . . . . . 34
Ask before replacing . . . . . . . . . . . . . . . . . . 34
Auto-Comment . . . . . . . . . . . . . . . . . . . . . . 34
AUto-category . . . . . . . . . . . . . . . . . . . . . . 34
Make .ID entries . . . . . . . . . . . . . . . . . . . . 34
DummY entries include subdirectory tree . . . . . . . . . 35
Query archive extraction . . . . . . . . . . . . . . . . 35
Index Hidden files . . . . . . . . . . . . . . . . . . . 35
Ignore bacKed up files . . . . . . . . . . . . . . . . . 35
Extract archive comments . . . . . . . . . . . . . . . . 35
Primary Configuration Menu . . . . . . . . . . . . . . . . . 35
Printer configuration . . . . . . . . . . . . . . . . . . 36
SiZe limits . . . . . . . . . . . . . . . . . . . . . . . 36
Indexing options . . . . . . . . . . . . . . . . . . . . 36
Screen, keyboard and Miscellaneous . . . . . . . . . . . 36
Default sorting/selection options . . . . . . . . . . . . 36
Keyboard macros . . . . . . . . . . . . . . . . . . . . . 36
Configured Exception list . . . . . . . . . . . . . . . . 36
Which fields to print . . . . . . . . . . . . . . . . . . 37
Output Format . . . . . . . . . . . . . . . . . . . . . . 37
Wssindex 5.22 ii Table of Contents
Load configuration file . . . . . . . . . . . . . . . . . 37
Save configuration file . . . . . . . . . . . . . . . . . 37
Return to previous menu . . . . . . . . . . . . . . . . . 38
Printer Configuration Menu . . . . . . . . . . . . . . . . . 38
Paper Width to right margin . . . . . . . . . . . . . . . 38
Paper Length . . . . . . . . . . . . . . . . . . . . . . 38
Left Margin . . . . . . . . . . . . . . . . . . . . . . . 39
Top margin . . . . . . . . . . . . . . . . . . . . . . . 39
Bottom margin . . . . . . . . . . . . . . . . . . . . . . 39
Use Form feeds . . . . . . . . . . . . . . . . . . . . . 39
Pause at page breaks . . . . . . . . . . . . . . . . . . 39
Printer port Name . . . . . . . . . . . . . . . . . . . . 39
POstscript printer setup . . . . . . . . . . . . . . . . 39
Postscript Printer Setup Menu . . . . . . . . . . . . . . . . 39
Use Postscript printer . . . . . . . . . . . . . . . . . 39
Disk output also postscript . . . . . . . . . . . . . . . 40
Landscape output . . . . . . . . . . . . . . . . . . . . 40
Font Size (points) . . . . . . . . . . . . . . . . . . . 40
Extra line spacing (points) . . . . . . . . . . . . . . . 40
Database Size Limits . . . . . . . . . . . . . . . . . . 40
Maximum number of Files . . . . . . . . . . . . . . . . . 41
Maximum number of Subdirectories . . . . . . . . . . . . 41
Maximum number of Disks . . . . . . . . . . . . . . . . . 41
Allocate Memory . . . . . . . . . . . . . . . . . . . . . 41
Longest allowed Comment . . . . . . . . . . . . . . . . . 42
Longest allowed category . . . . . . . . . . . . . . . . 42
Return to primary configuration menu . . . . . . . . . . 42
Indexing Configuration Menu . . . . . . . . . . . . . . . . . 42
Indexing drive number . . . . . . . . . . . . . . . . . . 42
Make .ID entries . . . . . . . . . . . . . . . . . . . . 43
Ask Before replacing . . . . . . . . . . . . . . . . . . 43
Auto coMment . . . . . . . . . . . . . . . . . . . . . . 43
Auto caTegory . . . . . . . . . . . . . . . . . . . . . . 43
Ask before eXtracting archive info . . . . . . . . . . . 43
Extract comments from archive files . . . . . . . . . . . 43
Auto cateGory string . . . . . . . . . . . . . . . . . . 43
File extensions for Archive information extraction . . . 43
File extensions for graPhics information extraction . . . 43
Archive file extraction configuration menu . . . . . . . . . 44
Graphics file extraction configuration menu . . . . . . . . . 44
Extension for extraction . . . . . . . . . . . . . . . . 44
Miscellaneous Configuration Menu . . . . . . . . . . . . . . 44
Perform automatic inteGrity check . . . . . . . . . . . . 45
MaNual cursor motion in menus . . . . . . . . . . . . . . 46
Function key layout matching IBM . . . . . . . . . . . . 46
Use BIOS to read Keyboard . . . . . . . . . . . . . . . . 46
Wssindex 5.22 iii Table of Contents
Inverted meaning for PgUp/PgDn . . . . . . . . . . . . . 47
Create .BAK files . . . . . . . . . . . . . . . . . . . . 47
Enable Alarm sound . . . . . . . . . . . . . . . . . . . 47
Change Prompt in DOS shell . . . . . . . . . . . . . . . 47
Strip High-bit when viewing files . . . . . . . . . . . . 47
Use color . . . . . . . . . . . . . . . . . . . . . . . . 47
Use Mouse . . . . . . . . . . . . . . . . . . . . . . . . 48
Mouse Sensitivity . . . . . . . . . . . . . . . . . . . . 48
Set Colors . . . . . . . . . . . . . . . . . . . . . . . 48
Video board configuration . . . . . . . . . . . . . . . . 48
Return to primary configuration menu . . . . . . . . . . 48
Default Sorting and Selection Options Menu . . . . . . . . . 48
Selection list . . . . . . . . . . . . . . . . . . . . . 48
Sort Keys . . . . . . . . . . . . . . . . . . . . . . . . 48
Return to previous menu . . . . . . . . . . . . . . . . . 49
Output Fields Configuration Menu . . . . . . . . . . . . . . 49
DuPlicate flag . . . . . . . . . . . . . . . . . . . . . 49
Size . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Date . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Time . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Seconds . . . . . . . . . . . . . . . . . . . . . . . . . 49
Volume . . . . . . . . . . . . . . . . . . . . . . . . . 49
SuBdirectory . . . . . . . . . . . . . . . . . . . . . . 50
Archive file name . . . . . . . . . . . . . . . . . . . . 50
Comment . . . . . . . . . . . . . . . . . . . . . . . . . 50
CateGory . . . . . . . . . . . . . . . . . . . . . . . . 50
Output Format Configuration Menu . . . . . . . . . . . . . . 50
Number of Blank lines between headers . . . . . . . . . . 50
Number of blank lines after Headers . . . . . . . . . . . 50
File name style . . . . . . . . . . . . . . . . . . . . . 50
Date style . . . . . . . . . . . . . . . . . . . . . . . 51
Archive file delImiter . . . . . . . . . . . . . . . . . 51
DeliMiter around first of comment/category . . . . . . . 51
Field width for Subdirectories . . . . . . . . . . . . . 51
Field width for Archive name . . . . . . . . . . . . . . 51
Field width for Comment or category . . . . . . . . . . . 51
Print comments bEfore categories . . . . . . . . . . . . 51
Always start New line for comment/category . . . . . . . 51
MaX wrapped print lines per file . . . . . . . . . . . . 51
Return to primary configuration menu . . . . . . . . . . 52
Video Board Configuration . . . . . . . . . . . . . . . . . . 52
Screen writing method . . . . . . . . . . . . . . . . . . 52
Use DOS calls for prompts (for screen readers) . . . . . 53
Suppress snoW on CGA . . . . . . . . . . . . . . . . . . 53
Raw Mode on screen output . . . . . . . . . . . . . . . . 53
Use BIOS call to set screen size . . . . . . . . . . . . 53
AX value for BIOS call . . . . . . . . . . . . . . . . . 53
BX value for BIOS call . . . . . . . . . . . . . . . . . 53
Wssindex 5.22 iv Table of Contents
Screen wIdth . . . . . . . . . . . . . . . . . . . . . . 53
Screen Height . . . . . . . . . . . . . . . . . . . . . . 53
AX value for BIOS call on exit or push-to-DOS . . . . . . 54
BX Value for BIOS call on exit or push-to-DOS . . . . . . 54
Return to previous menu . . . . . . . . . . . . . . . . . 54
Color Selection Menu . . . . . . . . . . . . . . . . . . . . 54
The Add-Comments Menu . . . . . . . . . . . . . . . . . . . . 54
WSSINDEX Utilities . . . . . . . . . . . . . . . . . . . . . 58
IDADD Conversion Utility . . . . . . . . . . . . . . . . 58
WSSMERGE Database Merging Utility . . . . . . . . . . . . 59
SPLIT Database Splitting Utility . . . . . . . . . . . . 60
Database Conversion Utilities . . . . . . . . . . . . . . 61
Problems and Solutions . . . . . . . . . . . . . . . . . . . 61
Hard/software requirements . . . . . . . . . . . . . . . 61
Known incompatibilities with other software . . . . . . . 62
Disk Cache Warning . . . . . . . . . . . . . . . . . 62
Incompatible TSR . . . . . . . . . . . . . . . . . . 62
Answers to Common Questions . . . . . . . . . . . . . . . 63
Command Line Parameter Summary . . . . . . . . . . . . . . . 66
Support . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
The Distribution Package . . . . . . . . . . . . . . . . . . 67
Ordering Information . . . . . . . . . . . . . . . . . . . . 69
WSSINDEX Price schedule . . . . . . . . . . . . . . . . . 69
WSSINDEX ORDER FORM . . . . . . . . . . . . . . . . . . . 72
Appendix A - Forcing Video Board Type if Autodetection Fails 73
Appendix B - ANSI.SYS Screen Driver . . . . . . . . . . . . . 74
Appendix C - Expanding the DOS Environment . . . . . . . . . 75
Appendix D - WSSINDEX Database Format . . . . . . . . . . . . 76
Appendix E - Printer Definition Files . . . . . . . . . . . . 77
Appendix F - Character Code Conversion Table . . . . . . . . 82
Appendix G - WSSINDEX for DEC Rainbow . . . . . . . . . . . . 83
Appendix H - WSSINDEX for TI Professional . . . . . . . . . . 84
Appendix I - Parameters for setting screen sizes . . . . . . 85
Wssindex 5.22 v Table of Contents
Introduction
Have you ever had to search through dozens of disks trying to
find a program or data file which you knew you had somewhere?
WSSINDEX.EXE is a program designed to help keep track of MS-DOS
files stored on floppy or hard disks. A database is created
which contains, for all of your disks, the information normally
available from the DOS DIR command, as well as optional comments
and categories describing each file. The information in the
database may be printed with various sorting options, or may be
searched for specific file names with wild cards in case you
don't remember the exact name of the file you are looking for.
Additional functions include listing files without current backup
copies and extracting directory information from archive and
graphics files of various types. Don't be frightened by the size
of this documentation. The program is menu driven and easy to
use without referring to the documentation. Mostly this is a
reference manual to use when the details of some program function
aren't clear. If you are a new user, you should read the Instal-
lation, Overview and Tutorial sections.
Installation
Before you do anything else, make sure that the disk(s) you
received are write protected, and then make at least one backup
copy. The disks are not copy protected. WSSINDEX and related
routines, including a machine readable version of this documenta-
tion file, are shipped as compressed, self-extracting files.
This lowers the number of disks required, and also provides an
automatic check during the installation that the disk(s) have not
been damaged. The steps required for program extraction may vary
from release to release; you will find an instruction sheet pack-
aged with the distribution disks.
The extracted files generally include the version number as part
of the file name. For example, the main program WSSINDEX.EXE
becomes WSSI522.EXE. To avoid confusion, I suggest that you
rename the executable files to WSSINDEX, IDADD, SPLIT and
WSSMERGE (.EXE in all cases). If you are running DOS 2.x, you
must rename the program files this way if you want to use either
the overlaid version of WSSINDEX or the virus checking code. Of
course, you can name the files whatever you like, but the above
numbers will be used throughout this documentation. The
WSSINDEX/Extended executable is named WSEXT522.EXE; the suggested
generic name is WSSIEXT.EXE. Since WSSINDEX/Extended does not
run under DOS 2.x, the integrity check does not require renaming
the executable.
All purchasers receive the shareware evaluation version which is
fully functional, but the main program, WSSINDEX.EXE, displays an
opening commercial. The evaluation routine has a "D" (for demo)
as the last character of the file name, i.e. WSSI522D.EXE (Note
Wssindex 5.22 1 Installation
that the file names vary slightly for the DEC Rainbow and TI Pro
versions. Generally, a single letter is appended, and where this
makes the file name longer than 8 characters, another letter is
dropped.) If you purchased the complete package, additional
self-extracting files are included which contain WSSI522.EXE, a
replacement executable without the opening screen and
WSSI522.DOC, this documentation in ascii format.
Wssindex/Extended Installation
The extended version of Wssindex uses a DOS extender licensed
from Ergo Computing to allow access to up to 16MB of extended
memory with an 80286, 80386 or 80486 CPU. This requires switch-
ing the CPU into what is called "protected mode". However, it is
necessary to switch back to "real mode" before any DOS functions
can be used. Since Intel originally envisioned that the 286
would be used with an operating system which switched into pro-
tected mode immediately and never came back, getting out of pro-
tected mode was made very difficult. But MS-DOS has remained
popular, so motherboard manufacturers have used various tricks to
allow switching back to real mode. Generally these involve send-
ing a special command to the keyboard controller, which then
sends a reset to the CPU.
The significance of all this is that the DOS extender has to test
your system to find out which way of switching back to real mode
works best. This testing is done once using a program called
TUNE which stores its results in the protected mode executable.
If TUNE tries something which doesn't work with your hardware, it
may crash your system, probably disabling the keyboard in the
process. If this happens, use your hardware reset button or
power switch to reboot and try again. TUNE writes a checkpoint
file and will continue from the point of failure. If you have an
expanded memory manager such as QEMM or 386-to-the-Max which
supports the VCPI standard, TUNE will detect this and tell you
that no tuning is necessary. TUNE has an internal database of
common machines and may recognize your machine and not need to
run any tests. TUNE may also generate a small file with your
machine configuration and ask you to upload it to the Ergo Com-
puting BBS. Of course, doing this is optional, especially if
TUNE did not crash your machine. TUNE configuration files can
also be sent to WSS/DDC for forwarding to Ergo.
Instructions for running TUNE are included with the
Wssindex/Extended disk. Basically, you type
TUNE -k filename
where filename is WSEXT522.EXE (if not renamed) and follow the
screen prompts.
Wssindex 5.22 2 Introduction
Besides TUNE'ing, there are some setup parameters which can be
adjusted using 286SETUP.EXE. Probably the only one which you
might want to adjust is the amount of memory reserved for shell-
ing to DOS; lower this if you are hitting database memory limits,
increase it if you don't have enough memory to run other programs
under Wssindex. To run 286SETUP, type
286SETUP -k filename
and follow the on-screen help instructions. If there is any
question about how much extended memory is available, run the
utility WHATMEM.EXE.
Unlocking Demo Releases
The acknowledgement letter sent to full purchasers includes a
personal password which can be used to suppress the opening com-
mercial of the evaluation demo. The DOS SET command is used to
define two environment variables, WSSUSER and WSSPASS, whenever
the demo version is run. The first of these is typically the
user name, the second a 7 or 8-digit number. For example, John
Q. Public might include the lines
SET WSSUSER=JPublic
SET WSSPASS=12345678
in his AUTOEXEC.BAT file. The program retrieves the value of the
WSSUSER variable, does some arithmetic operations on it, and
checks to see whether the result matches the value of the WSSPASS
variable. If so, the opening commercial screen is suppressed.
The WSSUSER variable must be entered exactly as specified in your
registration letter; changing the case or including spaces around
the equal signs will cause the program to either not recognize
the password or will change the expected value of WSSPASS. Pur-
chasers of versions released before the password scheme was im-
plemented may contact WSS/DDC to receive a password. The maximum
database size will be slightly reduced by the memory used by the
code which checks the password; otherwise an unlocked demo ver-
sion will be indistinguishable from the standard release. This
password scheme is probably not very hard to defeat; if you do
so, please keep the technique to yourself.
Demo releases sent to various online and disk copying services
are compressed using PKWare's PKZIP. These files include an
authenticity check which is difficult, but apparently not impos-
sible, to defeat. When such files are extracted using PKZIP, you
should see the message "Authentic files Verified! # RLQ256
Software by WSS Division of DDC." If there is any change in this
message, particularly in the serial number RLQ256, it means that
the file has been modified and should be treated with caution.
Various BBS's may add a ZIPfile comment; this will not change the
authenticity check. On the other hand, the self-extracting files
Wssindex 5.22 3 Introduction
I send to purchasers may be created by another compression utili-
ty such as LHARC. A ZIP file with no authenticity check may
merely be a repackaging of files I send to purchasers.
Overview and Tutorial
This section is an introduction to WSSINDEX for new users. It
contains enough information to get you started, but eventually
you will probably want to browse through the Setup and Command
Reference sections.
What is it? WSSINDEX creates and maintains a database with all
the information about your disks available from the DIR command,
plus optional descriptive comments and categories. You can
search the database interactively, or you can print reports with
various sorting and selection options. Output option allow
printing disk labels and disk covers. The most common use of the
program is to keep track of files on a collection of floppy
disks, but you can index anything which looks like a disk to DOS,
including hard disks, RAM disks and some tape cartridges. (Un-
fortunately, almost all tape systems use special formats which
Wssindex cannot read. But if your tape software makes the tape
look like a disk to DOS, Wssindex can probably read it.) One
option allows hard disk users to make a listing of all files on a
hard disk which do not have backup copies on another disk.
What hardware and software do I need? For the DOS version, an
IBM-PC or moderately compatible MS-DOS machine (versions for the
Dec Rainbow and Texas Instruments Professional are also avail-
able), DOS-2 or higher and either an IBM compatible video board
or support for ANSI escape sequences. If you lack both of these,
the screen display will be hopelessly garbled; more details be-
low. The program will run in 256K of memory, but the database
size will be extremely limited; 640K is recommended. A mouse may
be used. Wssindex/Extended, which can handle larger databases,
requires an AT class machine (286 or higher CPU), DOS-3 or high-
er, and a disk larger than 360KB for saved databases. 1MB or
more of extended memory is recommended.
How many disks can I index? With the DOS version, there is a
hard limit (set by the 64K segment size of the Intel 80x8x series
CPU's) of approximately 16K files (or disks, or subdirectories),
and a practical limit of 10-12K files if you have 640K of memory.
Extended or expanded memory is not used, but DOS memory beyond
640K is used if your system supports it. The extended version
does use extended memory and the maximum database size is in-
creased accordingly. For example, with 6MB RAM, over 100,000
files can be indexed.
How do I run the program? Start it up by typing WSSINDEX (or
WSSInnn if you haven't renamed the executable file and it still
includes the version number). If you are not running the regis-
Wssindex 5.22 4 Introduction
tered version, read the opening commercial screen and hist a key
to continue. You will get a message that the configuration file
was not found; hit return and you will get a prompt for a data-
base name. You haven't created a database yet, so just hit es-
cape.
"Help! my screen is all messed up. I see funny numbers, square
brackets and other garbage mixed in with normal text." This
isn't supposed to happen any more, but if it does, you may be
able to recover by hitting escape 2 or 3 times followed by con-
trol-Q. Then, read appendices A and B for a description of what
is happening and how to fix it.
At this point you are running with default option settings in-
cluding white-on-black colors and mouse disabled. You can
change options at this point or later; simply select the change
cOnfiguration option on the main menu by typing "O". Probably
the first thing to check is the video output method; CGA, MDA,
EGA or VGA are much faster than DOS and enable boxes around the
menus. (Drawing the menu boxes with DOS calls would be painfully
slow.) To get to the menu screen which sets this option from the
primary configuration menu, select M and then V. This menu op-
tion is buried several menus deep because you only need to set it
once, and you lose your screen display if you accidentally change
it to the wrong value. You may also want to enable use of the
mouse from the screen, keyboard and miscellaneous configuration
menu.
From the main menu hit A to move to the indexing menu. If neces-
sary, hit F and S to enter the first and second indexing drives.
If you have two drives, you can select A and B and use then al-
ternately; otherwise just select the same drive twice. Hit I to
start indexing. You will be told to insert a disk and hit the
space bar; do so. If the disk was previously labeled (by the /V
option of FORMAT or by some other utility), the label will be
displayed and the disk directory information will be added to the
database. If the disk was not labeled, you will be given the
options to write a label on it, enter a label to use (but not
write on the disk), list the directory on screen, or return to
the menu. WSSINDEX will spend a few seconds reading the disk,
and will then prompt you to hit the space bar to index the next
disk. Feed in a few disks this way, then hit return instead of
space to stop indexing, and then R to return to the main menu.
Now you can try some of the program options. Hit D and see how
many files and disks you have entered. Hit P to move to the
File/volume listing menu, and then P again to print the database.
When asked for selection/rejection options, just hit return to
select everything. When asked for sorting options, enter 1,2 and
hit return. And when asked to select printer, screen, disk or
export output, hit S. You should now get a screen listing of all
files in the database, sorted by name and extension. If the list
Wssindex 5.22 5 Overview
does not fit on a single screen, you can page forward and back-
ward with the PgDn and PgUp keys. At the top of the list will be
dummy entries for each disk and subdirectory. See page 22 for
how to control whether or not these appear. If you don't want to
see the entire listing you can interrupt it by hitting ^C (con-
trol-C) while the screen is being painted, or hit Q after the
screen fills. When the listing finishes and you return to the
menu display, enter ^F for quick find. When prompted for file
specs, enter wildcard specifications one per line, ending with an
empty line. For example, *.COM and *.EXE will match all execut-
able files. All files which match these specs will be displayed
on screen in the same format as before.
There are four different types of disk files which can be written
by WSSINDEX: (1) configuration files (default name WSSINDEX.CNF)
which contain setup information and are short, (2) database files
(default name WSSINDEX.DIR) which contain the disk directory
information and can be quite large, (3) printer files which con-
tain output which could instead have been sent to the screen or a
printer, and (4) export files which can be read by database pro-
grams. Only the first two of these can be read by WSSINDEX.
From the main menu, select option W to write a database file.
You will be prompted with a default name of d:\path\WSSINDEX.DIR.
You can hit return to accept this default, or you can edit it:
use the cursor keys, insert, delete, control-arrow for word tab-
bing, etc. You can also hit TAB to get a pop-up list of database
file names, but usually doing this doesn't make much sense unless
you want to check whether a database name already exists before
saving a new database.
Select option Q (or ^Q) and return to DOS. Verify that the data-
base file was written where you expected.
Restart the program. If you saved a configuration file with the
default name (the instructions above didn't tell you to do this,
but you might have done so anyway if you were adventurous), no-
tice that it is automatically restored and you are prompted for
the name of a database file to read. Otherwise, after configur-
ing, select the G option to get a database from disk and reload
the database you just saved. From the print menu, use the V
option to list the volumes in the database, sorted by name, free
space, date indexed or unsorted.
Now you have a feel for how the program operates and you should
read at least up until the detailed menu descriptions. Some
important things you will find are instructions for changing the
default names for the configuration and database files, detailed
explanation of all the program options, and how to use the
add-comments section. Also look at the Problems and Solutions
chapter for the answers to some commonly asked questions, and at
the Utilities chapter for descriptions of the various utility
Wssindex 5.22 6 Overview
routines. If you want to print disk labels or disk covers, see
the documentation for the print menu.
Setup and General Information
Before running WSSINDEX, there are several DOS environment vari-
ables which you may want to set to establish defaults for the
configuration file name, the database name, and your video dis-
play type. Doing this is optional, but recommended for smooth
operation.
The DOS environment is just a list of character strings of the
form
VARIABLE=value
You make, view or delete entries in this list with the DOS SET
command. From the DOS prompt, type SET to view your current
settings. You should see something like COMSPEC=d:COMMAND.COM,
and probably other items used by other software packages or the
PROMPT command. You will probably find it convenient to put SET
commands in your AUTOEXEC.BAT file. If you get an error message
that you have run out of environment space, see appendix B.
When issuing SET commands, do not include any blank spaces around
the equals signs. The four commands:
SET X=Y
SET X =Y
SET X= Y
SET X = Y
mean different things.
The environment variables used by WSSINDEX are
WSSDISP = default display type
WSSICNF = default configuration file name
WSSIDIR = default database name
WSSPRINT = default printer definition file
WSSINDEX and the utility routines attempt to determine what type
of video card you have, but you can manually override the auto-
matic selection. This might be necessary on machines with more
than one video board or when smart hardware tries to sense what
type of video board the software is trying to address. The video
type is saved in configuration files, but you can also use
WSSDISP to specify this; legal values are D, C, M, E or V for DOS
calls, color graphics adapter, monochrome display adapter, EGA or
VGA. (Actually, only the first character is used, so you can be
more mnemonic.)
Wssindex 5.22 7 Overview
If you do not specify the configuration file or database file
names on the command line, they default to WSSINDEX.CNF and
WSSINDEX.DIR on the current drive in the current directory. You
can change these defaults with the environment variables WSSICNF
and WSSIDIR. Even if you use multiple databases and configura-
tions, you can still use these variables to specify the drive and
path. For example, if you keep the program and configuration
files in subdirectory C:\WSSINDEX, and databases in subdirectory
C:\WSSINDEX\INDEXES, you might specify
SET WSSICNF=C:\WSSINDEX\
SET WSSIDIR=C:\WSSINDEX\INDEXES\
(Remember, no spaces around the equal signs.) The startup code
will use the specified paths and fill in the default file names.
The WSSPRINT environment variable specifies the name of the
printer definition file which is used by some options on the
print menu.
Starting up
Type
WSSINDEX <config name> <database name>
where the angle brackets indicate optional parameters. If the
configuration file (first command line argument or default or de-
fined by WSSICNF) is read successfully, the program will immedi-
ately ask for the name of an existing database to read, and will
prompt you with the default name. If you don't want to read a
database, you can hit escape to cancel. On the other hand, if
you specify the database name as the second command line argu-
ment, it is read without confirmation. If the configuration file
and database have the same name (but the usual extensions), you
can specify = (an equal sign) for the database name. Either com-
mand line name can be replaced by an * (asterisk) as an abbre-
viation for the default name.
Pop-up File Selection
When entering names for input database, configuration or printer
definition files, you can hit TAB to switch to a list of possible
files. These lists are generated using the drive, path and ex-
tension of the default file name which was displayed just before
you hit TAB; the wildcard used is displayed at the bottom of the
screen. Also listed, surrounded by brackets, are the names of
subdirectories, including the parent directory in the usual DOS
notation [..]. Move the highlight bar to the desired entry and
hit enter, spacebar or a mouse button. If no path is specified
in the wildcard and you select the parent directory, the selec-
Wssindex 5.22 8 Setup
tion is interpreted to mean fill in the current directory, but do
not move up the directory tree. Once this has been done, you can
move up the directory tree by selecting [..] again. If you want
to change to a different drive, edit that part of the file name
before hitting TAB.
Command Defaults
In many places, WSSINDEX gives you a default which will be used
if you just hit enter. For text input, you can edit the default
with normal editing keys: left, right cursor arrows, backspace,
insert, delete, control-arrows for word tabbing. File names
generally have default drive, subdirectory, name and extension
components which are established at program startup and change to
match the last user input.
Aborting commands
At most points you can hit ESCAPE (CANCEL on a Dec Rainbow) to
abort a command when you are prompted for text strings such as
file name, disk name, etc. ESCAPE also backs up one menu level,
or forces a screen rewrite from the top level menu. ESCAPE will
not stop print operations, use control-c instead. If you hit
ESCAPE when numeric input is expected, you will still see a "com-
mand aborted" message, but all this means is that the default
value has been used.
The Dreaded Abort, Retry, Fail?
Certain disk errors will produce a DOS error message, followed by
an "Abort, Retry, Fail?" prompt (Fail is replaced by Ignore under
DOS 2), possibly in an inappropriate screen location if you are
using direct video writes for screen output. To minimize the
chance of triggering such a message, WSSINDEX now has an error
handler which will intercept such messages during indexing or if
they are triggered on the first access of a disk, and give you
the opportunity to correct the problem or cancel the operation.
The usual problems which can be detected this way are disk not
ready or not formatted. Disk full errors are handled properly,
but at a different level. In future releases the error handling
will be extended to catch all disk errors.
The current coding will not detect a write protected disk, nor
the various failures which can occur in the middle of a file even
if the disk is properly loaded. If you do get the "Abort, Retry,
Fail?" message, you must be careful how you respond. If you re-
spond "A", you return to DOS and lose whatever you were working
on. But, that's not the worst thing that can happen. If the
failure happens on a write operation, say the wrong disk was
inserted and it had a write protect tab, and you swap disks be-
fore responding "R", DOS will probably write the directory and
file access table of the original disk onto the second disk.
Wssindex 5.22 9 Setup
This is really a design flaw in MS-DOS, not a WSSINDEX problem,
and most any program can suffer from it. It is generally safe to
fix the problem and retry with the same disk. The result of
ignoring an error will depend on exactly what operation failed,
but for read operations you can usually recover by ignoring or
failing the error, although you may have to do so several times.
Acknowledgements
WSSINDEX started out as an exercise to learn C for my "real job"
and to fill my needs for a disk indexing package, and ended up
growing into a major project. Two special software tools which
have proved invaluable in producing various releases of this
package are OPUS MAKE (D. G. Kneller & J. F. Thomason, Opus Soft-
ware, 1032 Irving St. Suite 439, San Francisco, CA 94122) and
the PD M4 macro preprocessor (Ozan S. Yigit with modifications by
John Levine). The video board configuration information is pri-
marily from DOSREF17 Programmer's Technical Reference for MSDOS
and the IBM PC, Copyright 1990 by Dave Williams. Special thanks
to Paul St. George, Nate Horowitz, Don Wetzel, and other members
of the Sanyo New England Users Group for encouraging me to dis-
tribute my early efforts as shareware. Also thanks to all those
who have registered the shareware version, and to those who sug-
gested program enhancements. And finally, thanks to the
countless bulletin board sysops who provide the distribution net-
work for shareware programs.
Archive and Graphics Files
The idea of combining files into an archive or library, and pos-
sibly compressing them at the same time, is older than MS-DOS.
WSSINDEX can peer into certain types of archive files and extract
directory information. Note that it is only the directory infor-
mation which is extracted; file viewing and extraction are not
implemented. WSSINDEX can also extract useful information from
graphics formats, namely the image size and number of colors.
Archive files are identified by their file extension. Since it
is possible for a non-archive file to have a name which makes it
appear to be an archive, you may get warnings when indexing that
such files are either not archives or are corrupted. If such a
message is given for a file which you think is a archive, you
should use the appropriate archive utility to test the integrity
of the file.
In most but not all cases, extraction of information from an ar-
chive file is noticeably slower than reading a directory because
the information is scattered throughout the file, rather than
being concentrated in one place. You will probably notice a lot
of disk activity when extracting archive information.
Wssindex 5.22 10 Setup
Some of the archive formats may be used on non-MS-DOS systems
which allow file names which are illegal under MS-DOS. When
WSSINDEX extracts information from such an archive, the two com-
ponents of the file name are truncated to 8 and 3 characters but
retain their original case. If you transfer archive files from
another operating system to MS-DOS, remember that these are bina-
ry files and improper character translations can make them un-
readable. Some of the archive formats can include subdirectory
information; WSSINDEX will ignore this information. Some of the
archive formats allow entries to be marked as deleted; WSSINDEX
will ignore such entries. If an archive format allows inclusion
of comments, and the WSSINDEX configuration selects comment ex-
traction, the leading characters of the comment (after removing
any leading or trailing blanks, unprintable characters, box form-
ing characters or strings of more than two consecutive blanks)
are included in the database. The maximum number of characters
extracted used to be fixed at 64 but is now configurable up to
1023.
Archive files introduce two complications in the operation of re-
placing a commented disk in the database. First, which comment
should be used if a comment has been extracted from an archive
and the file already had a comment in the database? Current
choice is to accept the comment extracted from the archive, but
I'm not certain that this is the best choice. Second, what
should be done if a member of an archive file matches the name of
an ordinary, commented file in the same subdirectory? Quite
probably the files are identical, but they could be completely
different, and WSSINDEX has no reliable way to tell which is the
case. The current program version uses the following algorithm
to decide whether to copy a comment after it has found matching
file and subdirectory names: if both files are archive members,
the archive file names must match, and if only one of the pair is
in an archive file, the size and date must match. I am not com-
pletely satisfied with this algorithm and am open to any sugges-
tions for a better technique.
The formats of various archive files sometimes change with new
releases of archiving programs. Such changes may prevent
WSSINDEX from extracting information. For example, LHARC 2.0x
writes by default files which are not readable by LHARC 1.xx, or
by any version of Wssindex older than 5.1. Fortunately, new
compression methods usually do not require changing header for-
mats, so WSSINDEX is usually not broken by archiver changes.
Archive Formats Supported
ARC, ARK, PAK, PKA, SDN - As far as WSSINDEX is concerned, these
extensions all refer to variants of the same type of archive. An
extraction program might not be able to handle all of these be-
cause some of them may use unrecognized compression methods, but
the header information has the same format in all four. The ARC
Wssindex 5.22 11 Archive and Graphics Files
extension is used with the archive format which is currently the
most popular. ARC files may be created by ARC (Systems Enhance-
ment Associates, 21 New Street, Wayne, NJ 07470) or PKARC/PKPAK
(PKWare 7545 N. Port Washington Road, Suite 205, Glendale, WI
53217). ARK is the extension used by a CP/M port of ARC. The
PAK extension is used by PAK (NoGate Consulting, P.O. Box 88115,
Grand Rapids, MI 49518). When a version of PKARC was introduced
which had a compression method not recognized by ARC, some users
recommended changing the extension to PKA. SDN is a format used
by the Software Distribution Network, essentially the same as a
PAK file.
ARJ - Files with this extension are created by ARJ (Robert K.
Jung, 2606 Village Road West, Norwood, MA 02062). ARJ files can
span volumes, in which case the continuation files have exten-
sions A00, A01,... Wssindex recognizes the continuation files,
but does not record whether an archive member spans two archive
files. A recent ARJ release allows more than 99 continuation
files, in which case the extensions are 3-digit numbers.
Wssindex does not test whether files with 3-digit extensions are
ARJ files because too many other files are likely to have this
type of extension. The only conceivable use for an ARJ file
which occupies more than 100 disks is a hard disk backup, and if
your backups take more than 100 disks, you really should consider
getting a tape drive.
HYP - Hyper is a German program by Peter Sawatzki and Klaus Peter
Nischke. An October 15, 1991 PC Magazine comparison of archiving
programs rated Hyper best at compressing spreadsheet files.
LBR - This format was defined by Gary Novosielski for use on CP/M
and MS-DOS systems and many programs exist which can create this
type of archive. Although no longer popular, this format allows
quick access to any archive member because the directory informa-
tion is all in one place at the beginning of the file. Time
stamps stored in a LBR file are relative to 1/1/76, but are con-
verted to the MS-DOS standard by WSSINDEX. This means that files
dated before 1/1/80 will appear to be dated 1/1/80. There also
exist LBR utilities which do not fill in the date and time infor-
mation; these will also produce file dates of 1/1/80.
LZH, LZS - Files with these extensions are created respectively
by the Japanese programs LHARC (Haruyasu Yoshizaki) or LARC (K.
Miki, H. Okumura, K. Masuyama).
ZIP - ZIP files are created by PKWare's PKZIP (address above).
ZIP files extending across multiple volumes are not currently
supported by WSSINDEX (or by the current release of PKZIP). ZIP
files may be created on non-MS-DOS operating systems; WSSINDEX
should be able to handle such files, except for the above men-
tioned truncation of file names. A volume name stored by PKZIP
will appear as a zero-byte file.
Wssindex 5.22 12 Archive and Graphics Files
ZOO - The ZOO archive utility (by Rahul Dhesi) is available under
many different operating systems, and the file format is supposed
to be the same on all of them.
Graphics Formats Supported
The image size and number of colors for graphics files can be
placed in the category field in the format width x height x col-
ors. If an image appears to be black and white, either because
of a flag in the file or because the color table has equal red,
green and blue intensities for all colors, the category includes
the string "monochrome". When reindexing, this information will
not replace an existing category.
BMP - Bitmapped images used by Windows 3.0 and OS/2. I believe
that earlier versions of Windows used the same extension but a
different file format, but I have no examples for testing.
GIF - Stands for Graphics Interchange Format, a service mark of
Compuserve. The GIF format allows for files which do not contain
an image, but it is likely that only test files will use this op-
tion. Such files will trigger a warning message. A GIF file may
also contain multiple images; WSSINDEX will only see the first
one. I've seen one example of what a viewing program called a
GIF file with a MAC header. Wssindex will reject such a file.
PCX - Zsoft format commonly used by paint programs.
TIF - Tagged Image Format from Aldus.
Navigating through the menus
Wssindex is controlled by a series of menus and data entry
screens. The overall structure is shown in the figure below.
For the most part, related functions are put on the same menu. A
few items which might logically be used in different contexts are
repeated on multiple menus. The appearance of the menus depends
on whether screen writing is done by DOS calls or direct video
writes. In DOS-calls mode, menus are not surrounded by boxes and
there is no highlight bar because displaying these in this mode
is very time consuming.
Operation of the menus is fairly straightforward. A menu item is
selected by either hitting a trigger key which is highlighted in
the menu, or by hitting return or space when the highlight bar
and cursor are positioned on the desired item. The highlight bar
can be moved with the cursor keys or with a mouse; HOME and END
move the selector bar to the first and last menu items respec-
tively; ESCAPE returns to the previous menu, or refreshes the
screen if at the top-level menu. The left mouse button is equiv-
alent to the space bar, the right button to the return key. If
you hit a key which is not the trigger for any displayed menu
Wssindex 5.22 13 Archive and Graphics Files
item, it is assumed that you are entering a value for the current
item. The area below a menu box is used for message display and
user entry of items such as file names.
After a menu item has been selected, and any processing for that
item is completed, an attempt is made to make an intelligent
choice whether to leave the cursor positioned on the same item or
to advance to the next item. The method used to select the menu
item affects the decision whether to advance to the next. If a
menu item is selected by hitting return or the right mouse but-
ton, the cursor will always advance to the next menu item. On
the other hand, if a menu item is selected by hitting the trigger
key, the space bar or left mouse button, the cursor will only
advance to the next menu item if it seems unlikely that the cur-
rent item will be reselected. For example, if you have toggled a
YES/NO value or typed in a numeric value for a parameter, you
probably want to advance to the next item. If you don't like the
automatic cursor advance, there is a menu selection to disable
it.
+---------------------------------------------------+
| Main menu |
| Listing menu |
| Add disks menu |
| Add comments menu |
| Primary configuration menu |
| Printer configuration |
| Postscript printer setup |
| Database size configuration |
| Indexing options |
| Default sorting/selection options |
| Archive file extraction selection |
| Graphics file extraction selection |
| Screen, keyboard, miscellaneous |
| Color selection |
| Video board configuration |
| Keyboard macros |
| Exceptions list |
| Fields to print |
| Output format |
| |
+---------------------------------------------------+
Figure 1. Structure of the Wssindex menu tree
Figures show menus as they appear on screen, or slightly edited
to fit within the margins of this document.
Wssindex 5.22 14 Menus
Main Menu
+-------------------------------------------------------------+
| Wssindex Main Menu |
| |
| Major functions Database maintenance |
| Add or label disks Add/modify Comments |
| ^F quick find Import comments |
| Print and other output menu ReName a disk in database |
| Write database to disk ^N rename with mixed case |
| Display statistics Remove disks |
| ^D - list directory ^R remove all disks |
| ABout Wssindex Purge duplicate Volumes |
| |
| Configuration Terminate/suspend |
| Get or merge database Push to DOS |
| ^G get database and CNF file Quit |
| Change cOnfiguration info ^Q quick quit |
+-------------------------------------------------------------+
Figure 2. Wssindex Main Menu. This top level menu provides imme-
diate access to some of the more commonly used functions, as well
as entry to the output, indexing and configuration menus.
A - Add or label disks
This option leads to the indexing menu.
^F - Quick Find (control-f)
This is the option to use if you are looking for a particular
file by name and want unsorted screen output. You will be
prompted to enter one or more wildcard file specifications.
This option is duplicated on the Print sub-menu (page 21)
where it is discussed in more detail.
P - Print and other output menu
This option leads to the print sub-menu.
W - Write database on disk
The in-memory database is saved on disk. The default file
name is the first of
1. The last file name used in a Get or Write command
2. The second command line argument
3. The DOS environment variable WSSIDIR (DOS command set
WSSIDIR=filespec)
4. WSSINDEX.DIR
which is defined. The default file name is displayed and may
be edited in the usual way. A previously existing file with
the same name will either be renamed with a .BAK extension or
overwritten (with verification), depending on which configu-
ration option you have selected. If creation of .BAK files
Wssindex 5.22 15 Main Menu
is enabled, you will not be allowed to use a filename with a
.BAK extension.
D - Display statistics
This option displays the number of files, subdirectories and
disks in the database, and the amount of contiguous memory
remaining for additional entries. There will always be at
least one subdirectory listed, since the root directories of
all disks are treated as one subdirectory. Also listed is
the current database name, either from the last read/write
operation or the default name.
Some points about the reported memory remaining: this number
will only decrease when the number of subdirectories increas-
es, or when comments and categories are added. Space for
other information is allocated during the initial setup.
(This was not true in versions older than 3.30.) It is only
the contiguous space remaining which is reported. If a disk
with subdirectories or comments is removed or replaced, a
"hole" may created in the memory space which will be used for
comments, etc. which are added later. Some operations may
create fragments of memory too small to be useful, hence the
space remaining may change slightly if you save the database
on disk and then reload it. You will receive a warning if
the available space drops below 4K. The program tries to
recover gracefully from out of memory errors, but doing a
save to disk is strongly recommend if you get this warning.
Also note that opening a file requires at least 2K for buff-
ers, so you may not even be able to save your database if
there is too little memory free.
^D - List directory (control-d)
This command lists the directory of a disk to the screen
(file names only). There are two options after hitting ^D:
either hit return and the complete subdirectory tree is dis-
played for the disk in the first indexing drive, or enter a
wildcard file specification including disk and path and see
everything which matches that specification. Note, if you
enter a file specification without specifying the disk, the
default is the currently logged drive, not one of the index-
ing drives, and to see all files on a disk (in one subdirec-
tory) you must use the *.* wildcard, not just d:. The list-
ing can be terminated by hitting control-c. You might want
to use this option to find out what's on a disk before you
label it, or to refresh your memory of the names of your da-
tabases. This option is duplicated on the Indexing menu
(page 31).
B - ABout Wssindex
Displays version number and copyright information.
Wssindex 5.22 16 Main Menu
G - Get or merge a database from disk
Enter the name of a file previously saved with the "W" menu
option. The default name is the first of
1. The last file name used in a Get or Write command
2. The second command line argument
3. The DOS environment variable WSSIDIR (DOS command set
WSSIDIR=filespec)
4. WSSINDEX.DIR
which is defined. The default file name is displayed and may
be edited in the usual way, or you can hit TAB and select a
file from a full-screen display. If you have a database in
memory, you will be warned and given the options of merging
or replacing. You will also be warned if you ask to replace
a database which has been changed without being saved.
Merged databases are tested for duplicate volume names. If
any are found, the "V" option should be used to delete them.
^G - Get configuration file and matching database (control-g)
This option prompts for the name of a configuration file and
loads it without displaying the configuration menu. If there
are no problems configuring, the default database name is
changed to be the same as the configuration file name, but
with a DIR extension, and a get-database function is execut-
ed. This same function can also be executed from the command
line when starting up by specifying the configuration file
name as the first argument and an equal sign (=) as the sec-
ond.
O - Change cOnfiguration
This option leads to the primary configuration sub-menu.
C - Add/modify Comments
This options leads to the add-comments screen.
I - Import comments
This option reads a text file containing file names, comments
and categories and assigns the comments and categories to
matching file names in the currently loaded database. The
text file might be a listing of files from a bulletin board
or the ascii output from another disk indexing program. This
option does not create a database from scratch from an ascii
input file, so it is not what is normally called an import
routine. In releases prior to 5.1, this function was imple-
mented by a stand-alone utility called WSIMPORT. That utili-
ty is now obsolete.
Features:
1. Filename format may be either FILENAME.EXT or FILENAME
EXT (but not a mixture).
Wssindex 5.22 17 Main Menu
2. File names, comments and categories may be in any order.
3. Filenames may be in mixed case.
4. Tabs are expanded.
5. Processing speed is around 1000 lines per minute, depend-
ing on the database size and your CPU speed.
6. Header or other garbage lines are ignored.
Requirements on the input file:
1. Anything appearing after the comment/category (except the
file name or category/comment) will be interpreted as
part of the comment or category.
2. File names, comments and categories must begin in fixed
columns.
3. Comments and categories must be on the same line as the
file name.
4. Lines must end with line feeds (if you can type the file,
it meets this requirement).
Before starting the program, you should examine the comment
file, either by typing it or with a text editor, to determine
in which columns the file names (and extensions if the format
is not FILENAME.EXT), comments and categories begin. Number
the columns starting with one, not zero. This step may not
be necessary since Wssindex will show you the first 15 lines
of the import file with a ruler line before asking you about
the file, but if the comments start after these lines, you
won't see them, and if the lines are longer than your screen
width, the display may not be very readable. In general, it
is not necessary to remove headers or other extraneous lines
from the input file; they will simply not match any files in
the database and will thus be ignored. But, if there are any
control characters embedded in the comments (such as might be
introduced by line noise in a downloaded file) they should be
removed or else they will be interpreted as the end of the
comment. You can be a little sloppy with the starting column
for comments since the program will remove any leading (or
trailing) blanks.
You are prompted for the name of the comment file and the
format (FILENAME.EXT or FILENAME EXT and starting columns).
You will be given the option to override or keep previously
existing comments in the database if a new comment is found.
If the input file does not include categories, you can also
specify a category string which will be applied to every file
which has a new comment assigned (unless you prohibit replac-
ing comments and the file had a category but not a comment
previously assigned).
After initializing, the database is sorted by file name and
extension. You already know about how long this will take if
you have used any of the sorting options in WSSINDEX. The
Wssindex 5.22 18 Main Menu
program remembers the sequence number where each letter first
appears, and starts searching for matching files there. A
fancier hashing algorithm and a binary search could be used,
but my testing indicates that the sorting time will typically
be as long or longer than the processing time for reasonable
sized input files, so not much can be gained here.
The comment file is read line-by-line, and lines which appear
to contain a filename and a comment are processed. Note that
the same comment may be applied to multiple database entries,
since disk and subdirectory names are not checked.
When the program finishes processing the comment file, it
prints out a few statistics (number of input lines, number of
comments applied, etc.) and gives you the option of making
another pass with a different comment file. The database
does not need to be resorted for multiple passes, so if you
have multiple comment files, it saves time to process them
together.
N - ReName a disk in the database
You are prompted for old and new names and the disk name in
the database is changed. Names are forced to upper case. A
carriage return aborts back to the main menu.
^N - ReName a disk with a mixed case label (control-n)
This is the same as option "N" except that it accepts lower
case characters.
R - Remove a disk from the database
The volume name to remove may be either typed in or read from
disk. When typing in a name, you can either let WSSINDEX
force your input to upper case or use mixed case.
^R - Remove all disks (control-r)
This option clears the database currently in memory. A warn-
ing is given if the database has not been saved since the
last modification.
V - Purge duplicate Volumes
If you merge two databases, you may end up with duplicated
volume names. Selecting this option purges duplicates. To
decide which entry to discard, the dates indexed are com-
pared. If the dates are different, the oldest entry is de-
leted. Otherwise, the number of files on disk is checked and
the entry with the larger number is kept. If the number of
files also matches, the first entry is kept. Deleting a
small number of duplicates doesn't take terribly long, but
deleting many duplicates from a large database can be time
consuming.
Wssindex 5.22 19 Main Menu
S - Push to DOS
Load a secondary copy of COMMAND.COM (or alternate processor)
and temporarily pass control to it. Return to WSSINDEX by
typing EXIT at the DOS prompt. To remind you that you are in
a secondary shell, the configuration can be set to change the
DOS prompt to "EXIT to return to Wssindex <newline> <old
prompt>". You can do anything you can normally do at DOS
level, but you will have less free memory to work with. It
is best not to load a terminate and stay resident program
here because it will fragment the memory space. The DOS en-
vironment variable COMSPEC is used to locate the command pro-
cessor, so this option will work even if you have renamed, or
are using a replacement for, COMMAND.COM. COMSPEC is normal-
ly set up correctly during the boot process and you don't
need to worry about it unless you have done something to
change it. If COMSPEC is not defined, an attempt is made to
load COMMAND.COM from the root directory of the logged drive.
You must have some free memory to use this option, and insuf-
ficient space is the usual cause when this command fails. On
a DOS 2.11 system, I need about 17.5K (as reported by the "D"
option); later DOS's are larger and will require more. Of
course, if you want to run a program in the secondary shell,
you must also consider its memory requirements.
Wssindex/Extended leaves considerably more memory free for a
DOS shell.
Q - Quit and return to DOS
You will be warned if the in-memory database has been changed
without being saved, and in any case you must verify that you
really want to exit. For your protection, the default option
is N (don't quit) if the in-memory database has not been
saved.
^Q - Quick Quit and return to DOS (control-q)
If the in-memory database has not been changed since being
saved, this option returns to DOS without asking for verifi-
cation, otherwise it's the same as option "Q".
Wssindex 5.22 20 Main Menu
Print menu
+---------------------------------------------------------------+
| File/volume listing Menu |
| |
| Select/sort/Print Options requiring printer config file |
| Find a file |
| ^F quick find Multi-column printing |
| Zippy text search MulTi-column dup/unique/no backup |
| Duplicate files Disk Covers |
| Unique files Disk Labels |
| Files not Backed up REad printer definition file |
| |
| List Volumes COnfiguration menu |
| ^V quick volume list Return to main menu |
+---------------------------------------------------------------+
Figure 3. Wssindex print menu. The options marked as requiring a
printer configuration file are intended for printer or disk out-
put. You can direct their output to the screen, but there will
not be pauses when the screen fills.
P - Print (and sort)
The print option first allows you to select what files will
be listed. Files to be listed may be selected by combina-
tions of
1. names and extensions 10. category
2. subdirectory 11. date range
3. disk name 12. size range
4. names starting from 13. exclude configured exceptions
5. extensions from 14. exclude archive file members
6. subdirs starting from 15. only archive files and members
7. disks starting from 16. archive members by arc name
8. disk numerically from 17. zippy search
9. comment 18. select from previous subset
You tell the program which selection criteria to use by en-
tering a list of numbers separated by commas. Depending on
which options you chose, further prompts will be made for
file names, etc. Each file in the database is checked
against all of the selection criteria, and is included in the
listing only if it passes all tests. This means, for exam-
ple, that while you can select files in which are in subdi-
rectory \ABCD and match *.DAT, you can not select files which
are either in the subdirectory or match the file spec. This
restriction does not interfere with most selection requests;
the occasional odd request can often be built up with multi-
ple passes.
Files in the database can also be excluded from the listing
by the first 10 options in this list. You indicate this by
using a negative selection option number. Option -1, rejec-
Wssindex 5.22 21 Print Menu
tion by file name, is essentially the same as option 13, ex-
clusion of configured exceptions, except that different lists
of names are used. The recommended mode of operation is to
put the file names which you always want to exclude into the
configured exceptions list (which is semi-permanent and rela-
tively awkward to revise), and use the option -1 list for
special cases. For example, depending on the sort order, you
may or may not want to see the .ID entries for volumes and
subdirectories. The option -1 rejection list is the obvious
way to get rid of these entries, although you can also do it
by selecting only files larger than 0 bytes.
Selection option numbers are entered in a comma-delimited
list; the order is not significant. All but options 13, 14,
15 and 18 lead to prompts for more information. Options -1,
1 and 17 accept multiple items, one per line, ending with a
null line. All selection options are case insensitive. The
default list of options is configurable, and can be edited in
the usual way.
When entering a list of wild-card file specifications, you
can switch to full-screen editing mode by hitting tab. If
you immediately tab into full-screen after having previously
entered file selection specifications, the previous specifi-
cations are remembered and displayed for editing. You can
make up to 100 entries (5 columns of 20 specifications).
Normal editing commands are available. Any cursor arrow mo-
tion off the left or right end of an entry is interpreted as
a move to the next column. Hitting HOME moves the cursor to
the beginning of the current entry, or if already there, to
the first entry in the list. Similarly, hitting END moves to
either the end of the current entry or to the last item in
the list. ^E deletes the current entry, ^A deletes all en-
tries, ^R redraws the screen (useful after deleting entries)
and F10 indicates that all entries are completed.
If you want archive file members, but not the archive files
themselves, include *.ARC, *.LBR, etc. in one of the excep-
tion lists.
When character string input is required, you can enter two
different types of wildcard. The first is similar to what
the DOS DIR command accepts: a question mark matches any
character and an asterisk matches all characters to the end
of the string. A few examples:
* or *.* matches any file.
*. matches any file with no extension.
xy* matches any subdirectory, disk name, comment,
or category which begins with the letters xy.
??? matches anything 0 to 3 characters long.
return matches absence of comment or category.
Wssindex 5.22 22 Print Menu
The second type of wildcard allows you to search for charac-
ters when you don't know their position in the string. Es-
sentially, this is a keyword search, except that parts of
words can also be matched. Simply begin the string with an
asterisk and put the text immediately after it. The primary
use for this type of wildcard is for searching comments, but
it also works for other string items. For example:
*LOTUS matches a string containing the substring LOTUS.
*123 matches a file name containing characters 123.
** matches any string which contains an asterisk
?*123.* doesn't work because the asterisk isn't the
first character. 123 will be ignored; this is
equivalent to *.*.
Options 4-8 select ranges of file, subdirectory or disk
names. For example, using option 4, "select by file name
starting from" and the wildcard FI* would all select all
files with names beginning with FI, as well as all files be-
ginning with G,H,... Suppose you have disks filed in boxes
of 100 and you want to make separate listings of the contents
of each group. If the disks have numbers as part of their
volume labels, either of the form 321UTILITY or MISC123, then
combining options 8 and -8, you could select files on disks
numbered 100 or greater, and reject disks numbered 201 or
higher, thus effectively selecting range 100 to 200.
Option 17, the zippy search, is a wildcard search which looks
almost everywhere: file name, extension, comment and catego-
ry. A leading asterisk is assumed; you must not add another.
The more comprehensive search options are slower than just
looking at the beginning of each string, but they aren't too
bad. The name zippy search is taken from a similar function
in the PC Board bulletin board program; it's actually one the
slowest selection options.
Option 18, select from previous subset, is only offered if
you have previously selected files and have not done anything
to invalidate the selection list. Possible uses include ed-
iting the previous selection if it included too many files,
printing the same set of files that were just viewed on
screen, or re-viewing with different sort keys.
The selected files are optionally sorted in ascending or de-
scending order by any combination of
Wssindex 5.22 23 Print Menu
1. file name 7. date and time
2. extension 8. category
3. disk name 9. comment
4. disk name as number 10. archive file name
5. subdirectory 11. archive file extension
6. size
When prompted, enter or edit a comma-separated list of sort
key numbers, changing the sign for any key you want in de-
scending order. (The default list is configurable.) Most of
the keys are self-explanatory, but the last two need a little
explanation. If you have elected to extract information from
archive files, the file name and extension used with keys 1
and 2 for members of an archive file are those of the archive
file member. Thus, with only keys 1 and 2, the archive file
members sort by their own names. Keys 10 and 11 select the
archive file name for members of an archive file, or the usu-
al name for ordinary files. In addition, there are two spe-
cial conditions checked:
1. If sort keys 10 and 11 are used and have higher priority
than 1 and 2, the archive file itself will sort ahead of
any of its members;
2. If keys 1 and 2 have higher priority than 10 and 11, then
archive members (and other files) are sorted by their own
names.
An interleaved list of keys such as 1,10,2,11 will probably
not do anything useful. If there are multiple copies of an
archive file, you will probably want to have the disk and/or
subdirectory as an intermediate key when sorting first by
archive file name. To summarize, 10,11,3,4,1,2 will list ar-
chive members following the containing archive file, while
1,2 will list all files alphabetically.
Sorting by category and comment is case insensitive. Any
votes on whether this should also be true for disk name?
There is a noticeable time penalty for making the sort case
insensitive.
The sort is done using the Quicksort algorithm. The sorting
time for a randomly ordered database of N files is O(N*logN),
i.e., for large number of files, the sort time is proportion-
al to N*log(N).
If you elect not to sort (sort key equal zero or just hit re-
turn), the selected files will appear in the order they are
found in the database, unless the files were selected from a
previously sorted subset, in which case the previous sort
order is preserved.
Wssindex 5.22 24 Print Menu
When the sort is finished, you can select whether the output
goes to your printer, screen, a disk file or export. For
disk output you will be given the options of suppressing page
headers and margins. Disk output might be massaged by a text
editor to change the format, read by another program, printed
by a background printing utility while you do something else
in the foreground, or transported to another machine for
printing; it is not readable by the "G" menu option. For
printer or disk output, you will be given the option to in-
sert a variable number of blank lines whenever the first sort
key changes (for screen output one blank line is inserted).
Export output is in "Mailmerge" format, a standard format
which can be read by many database programs. Fields are sep-
arated by a user-selected character, normally a comma, hence
this format is often called comma-delimited. Fields which
contain the separator character are surrounded by quotes, and
fields which contain a quote receive special handling. For
some database programs, in particular Lotus 1-2-3, it may be
necessary to enclose all fields in quotes; you are given the
option to do this.
Information in the configuration file is used to select which
fields are printed for each file, and to control paging.
When screen output is selected, you can page forward and
backward with the PgUp and PgDn keys, go to the top of the
list with the HOME key (PF1 key for DEC Rainbow) or return to
the main menu by hitting Q (or escape). Control-s will pause
any screen display; control-c will abort printing.
F - Find a file in the database
Find is equivalent to Print (described above) to the screen
unsorted.
^F - Quick Find (control-f)
Quick find is equivalent to Print with screen output and
files selected by name only.
Z - Zippy text search
This option is equivalent to Print, with selection option 17,
unsorted, with output to the screen. That is, you are
prompted for a string to search for in file names, exten-
sions, comments and categories.
D - List Duplicate files
This option lists all files which match the selection crite-
ria and have duplicates (which also match). Only the file
name and extension, and optionally the time stamp and file
size, are used to decide whether two files are duplicates.
The dummy entries for volumes and subdirectories are automat-
ically excluded.
Wssindex 5.22 25 Print Menu
U - List Unique files
This option lists all files which match the selection crite-
ria and do not have duplicates which also match. This is
similar to the "B" option, but checks all files in a database
rather than just those on a single disk. The dummy entries
for volumes and subdirectories are automatically excluded.
As with the "D" option, you can optionally require matching
time stamps or sizes before two files are considered dupli-
cates.
B - List files which are not Backed up
This option is intended primarily for listing files on a hard
disk which have not been backed up, but can also be used on
floppies. A file is considered to be backed up if another
file with the same name and the same or later time tag is
found on another disk (possibly in an archive file). Exact
time and size matches are not required because some copy pro-
grams do not preserve the time stamp, or even the size for
files which are not padded to a full disk sector.
When you select this option, you are given the usual selec-
tion options (described under the "P" option). These are
applied to both the disk being checked for backups and to all
other files in your database. Thus, selecting by some op-
tions, such as disk name, doesn't make much sense. However,
to allow checking a subdirectory rather than an entire disk
for backups, any subdirectory selection criteria are applied
only to files on the disk being checked for backup. On the
other hand, subdirectory rejection criteria are applied to
all files. Since only files from a single disk will be list-
ed, you might as well set the configuration to skip printing
the disk name (it will be listed in the title anyway). You
will almost certainly want to use an exception list to ex-
clude *.BAK (or whatever your favorite word processing pro-
gram names its backup files). The dummy .ID entries for vol-
umes and subdirectories are automatically excluded. If you
are using the configured exception list, don't forget to re-
quest selection option 13 to use the list, otherwise you will
have to stop the listing and try again. After selection, the
database is sorted using an internally defined set of sort
keys.
If you have a hard disk which is logically partitioned so
that it looks like multiple disks, you probably don't want to
consider a file to be backed up just because it appears in
two partitions. To avoid this problem you can either load a
database with only floppies included, then index a single
partition before checking it for backups, or you can use the
"R" option to remove all but one partition from your data-
base.
Wssindex 5.22 26 Print Menu
See also the "U" option for checking backups on all disks at
once.
If you use a backup utility which creates special files which
only it can read, you probably will not find the "B" option
useful.
V - List Volume names
The volumes in the database are listed to printer, screen or
disk, sorted by name, by decreasing free space, backwards by
date indexed, or unsorted (which will be about the same as
forward by date indexed unless the database was created by
merging two databases).
When sorting by volume name, you can either treat the name as
a text string or you can extract any numerical part of the
name and use that as the key. As a text string, "DISK 100"
would sort before "DISK 2", but if the numerical part is ex-
tracted, "DISK 2" sorts first. If a disk label has two dis-
tinct numeric parts, only the first is used as a numeric sort
key.
The printer configuration information is used to control pag-
ing for printer output; for screen output, you can page for-
ward and backward with the PgUp and PgDn keys, or hit Q (or
escape) to return to the menu. The display for each volume
includes the volume name, the number of free bytes, the total
number of bytes available, the number of files (excluding
hidden files), the number of subdirectories other than the
root directory, the date the disk was last added to the data-
base, whether or not the disk is bootable and optionally any
comments entered describing the disk. The disk is assumed
bootable if it has a COMMAND.COM file, the presence of the
hidden system files is not verified. You may abort printing
by hitting control-c.
^V - Quick list of Volume names (control-v)
This option lists the volume names to the screen, sorted by
name and without comments.
Output options on the right half of this menu are designed for
printer output. Output may be directed to the screen (or disk),
but will not pause when the screen fills. Control-s may be used
to pause screen output. A printer definition file is automati-
cally read the first time you select one of these options. See
Appendix E if you need information on creating a printer defini-
tion file.
M - Multi-column listings
Similar to the "P" option, but an additional prompt is made
for the number of columns used for the printed output. The
output page width (from the printer definition file) will be
Wssindex 5.22 27 Print Menu
divided into the requested number of columns, separated by at
least two spaces. Comments and categories will go to sepa-
rate lines if necessary and so configured.
Note: if the fields prior to the subdirectory name selected
for printing do not fit in the column width, output will be
truncated, probably in the middle of a field.
In order to produce columnar output running down rather than
across the page, an entire page is formatted in memory before
printing anything. On slower machines, this leads to a delay
of a few seconds at the start of each page. A hardware or
software print spooler may enable you to drive your printer
more efficiently. You must have enough memory left after
loading the database to hold an entire formatted page
(slightly more than page width times page length bytes).
You can include a printer initialization command in the
printer definition file which will be sent to your printer
before multi-column output is started.
T - MulTi-column listing of duplicate, unique or not backed up
files
This option selects duplicate or unique files, or files on a
particular disk which are not duplicated on another disk, and
lists them in multiple columns.
C - Disk Covers
A disk cover is a listing of all the files on a single disk,
small enough to fit into a disk envelope or be pasted on the
front of the envelope. (You could even define a small cover
format and print it on a label as an alternative to the "L"
option format labels.) The edges are marked by a box to make
cutting to size easy. You can select which disks to print
covers for by volume name (with wildcards), date indexed or
disk size. (3.5", 5.25" and other sizes are recognized by
disk capacity. Odd disk formats may not be identified cor-
rectly.) The output format is similar to the multi-column
output described above, plus a header with information about
the disk. You will be prompted for the desired number of
print columns.
The fields printed are selected by the usual configuration
menu. The disk name and subdirectory names are printed sepa-
rately, so you should not include them in the configured
print fields. If you use the printer definition in the sup-
plied file GENEPSON.DEF, you can fit file size, date and time
in 2 columns, date or size in 3 columns, or file names only
in 4 or 5 columns. In a single column, you could even fit
comments of moderate length. The characters which are used
to form the box around the cover when printing may not look
at all like box forming characters on your monitor screen.
Wssindex 5.22 28 Print Menu
The supplied file SCREEN.DEF has more appropriate box charac-
ters, and also sets the width to fit on an 80 column screen
(which might not be what you want to do if you are experi-
menting to see what will fit on a printer). To avoid the
necessity of changing the configuration by hand (and the
probability of forgetting which parameters work best) whenev-
er you print covers, you will almost certainly want to have a
special configuration file to control the printing of disk
covers.
Note: as with multi-column output, if the configured print
items do not fit in the column width, they will be truncated,
probably in the middle of a field.
When sorting files for disk covers, the disk name must be the
primary sort key. Cover printing enforces this requirement
and the prompt for sort options shows 3 as the first key in
the list, followed by any configured sort keys. You cannot
print covers without sorting, so you might as well add file
name and extension or other sort options in the order you
prefer.
If you want to print disk covers for any disks with subdirec-
tories, and these disks were added to your database by a ver-
sion of WSSINDEX older than 3.2, then you should run the
IDADD utility on your database first. If you do not do this,
the disk cover will not include subdirectory names.
L - Disk Labels
Disk labels are meant to be printed on small, self adhesive
forms and pasted on your disks. Suitable forms are generally
1 by 3 inches or smaller, so there is only room for a limited
amount of information. WSSINDEX prints the disk volume id,
total and free space, date indexed, number of files (and sub-
directories, if any), descriptive comments for the disk and
subdirectories (if found in database), and directory info for
as many files as will fit, starting from the largest. You
can also specify one line of text in the printer definition
file, such as your name, which will be printed at the bottom
of every label. You can select which disks to print labels
for by a wildcard name, by date indexed or by size.
Blank label forms which are one or several labels wide may be
used. You can also direct output to the screen or a disk
file.
Another option for printing disk labels is the shareware pro-
gram Disk Labeling System, DLS, (Jim Clark, 2130 Knollshire
Road, Cedar Rapids, Iowa 52402). Version 2.0 or later of
this program can print disk labels from a Wssindex database.
Wssindex 5.22 29 Print Menu
I am occasionally asked for a source for blank disk labels.
One vendor I have dealt with is Disks & Labels to Go, Rte 206
Eastampton Business Park, Mount Holly, NJ 08060, 800-426-
3303.
R - Read a printer definition file
Normally, a printer definition file is read automatically the
first time you select a print operation which requires a def-
inition file, so this option is only needed if you want to
use two different configurations in the same session, or if
you have used the S option to run an editor to change the
definition file. The default name of the printer definition
file is the first of
1. The last printer definition file read
2. The DOS environment variable WSSPRINT (DOS command set
WSSPRINT=filespec)
3. WSSPRINT.DEF
which is defined. The default name may be edited in the usu-
al manner, and TAB brings up a full-screen selection of
printer definition files.
See Appendix E for a discussion of the format of printer def-
inition files.
O - COnfiguration menu
This option takes you to the primary configuration menu.
From there, you can make changes or save a configuration
file.
R - Return to main menu
Returns to previous menu.
Indexing Menu
Additions to the database are made from this menu. Many control
options are found here, but a few are only available on the con-
figuration menus.
Wssindex 5.22 30 Print Menu
+-------------------------------------------------------------+
| Wssindex Indexing Menu |
| |
| Start Indexing Ask before replacing NO |
| Dummy entry index Auto-Comment NO |
| IndeX ignoring labels AUto-category NO |
| ^D list directory Make .ID entries YES |
| Label disk DummY entries inc subdir tree NO |
| COnfiguration menu Query archive extraction NO |
| Return to main menu Index Hidden files NO |
| First indexing drive A Ignore bacKed up files NO |
| Second indexing drive A Extract archive comments NO |
| LaBeling drive A |
| Indexing sTarts from (none) |
| Auto-category strinG (none) |
+-------------------------------------------------------------+
Figure 4. Wssindex Indexing Menu
I - Start Indexing
Insert the first disk to be indexed into the first indexing
drive and hit the space bar when ready. The processing time
is roughly proportional to the number of files on the disk,
and will typically be only a few seconds for a floppy disk.
If the disk is not labeled, you will be given the option to
either write a label on the disk, enter an 11 character
string to be used in place of a label, list the disk directo-
ry or abort back to the menu. See the "L" option below for a
discussion of "legal" volume names. If the Ask before re-
placing option is YES, you will be informed if the volume
name matches a volume already in the database and given the
option to replace the previous entry or not enter the disk
into the database. Wssindex will also look at the time tag
of the label, compare it to the time tag of the previously
indexed disk, and tell you whether the disk appears to really
be the same one or a different one with a duplicate volume
label. This test is not foolproof; a DISKCOPY'ed disk will
have the same time tag. Versions of Wssindex older than 5.2
did not record the time tag for volume labels, so you may
also be told that the time tag is not available. The infor-
mative message "NO FILES FOUND IN d:\*.*" will be generated
if there are no files in the root directory, along with simi-
lar messages for other empty directories. When prompted you
may either insert another disk (in the alternate indexing
drive if configured to alternate drives) and hit the space
bar, or hit any other key to return to the menu.
An important feature: if you replace a disk in the database,
any comments or categories which have been previously entered
are not lost, they are copied over to the new entry if the
file and subdirectory names match. Thus you should feel free
to re-enter a disk into the database after even small changes
Wssindex 5.22 31 Indexing Menu
have been made. During a replacement operation, the old and
new entries are temporarily in memory at the same time, and
both count toward the limits on the number of files, disks
and subdirectories.
There is one circumstance which could make replacing a disk
in the database very time consuming. The code which copies
old comments to new entries is a straightforward doubly nest-
ed loop, which means that the running time is roughly propor-
tional to the square of the number of commented files. This
is not a problem with floppy disks which seldom have even 100
files, but on a hard disk with a few thousand files, the pro-
cessing time could stretch to several minutes. The obvious
solution is to sort both sets of names first, which would
reduce the processing time for commented disks, at the ex-
pense of increasing it for non-commented ones, and I may im-
plement this in a future release. Comments from registered
users are solicited. (Does anyone actually comment enough
files on their hard disk to make this a problem? So far no
one has complained about replacement time.) It may prove
worthwhile to go back to the main menu and delete a huge disk
from the database before reindexing it.
D - Add Dummy entries
This option is similar to the "I" option, but does not make a
complete database entry. Instead, the database entry will
show that there is only the dummy zero-length file named .ID.
(The volume name, free space and total disk space will match
the actual disk directory.) This allows you to record the
existence of a disk when you don't want to include the file
names, say for a program master disk which contains driver
files for many different printers, graphics cards, etc. The
.ID file is a place to hang a descriptive comment and catego-
ry. Older versions of WSSINDEX used DUMMY_EN.TRY instead of
.ID; the auxiliary routine IDADD will translate such entries.
The Make .ID entries option must be set to YES before dummy
entries can be made.
X - IndeX ignoring labels
This option allows indexing of disks with manual override of
the volume name. The volume name is displayed, and you can
either accept it or type in an alternate (so the label isn't
really ignored). The label on the disk is not altered. The
mode of operation is suggested for things like write-protect-
ed master disks which might all have the same label (or no
label at all).
^D -List directory (control-d)
This option performs the same way on this menu as it does
from the main menu (page 16).
Wssindex 5.22 32 Indexing Menu
L - Label a disk on the labeling drive
A volume label is an optional entry in a disk directory which
looks much like a file name, but is given special treatment
by DOS. If present, it can be displayed by the DOS DIR or
VOL commands. Labels are usually written when a disk is for-
matted, but can be added later by various utilities.
WSSINDEX uses the volume name to distinguish different disks.
This option displays the current volume label, if any, and
prompts you for a new label. A carriage return aborts back
to the menu without changing anything. The labeling is done
by a DOS call, so DOS restrictions on allowed characters ap-
ply (in particular, your input will be forced to upper case
because lower case letters are not allowed, but blanks are
ok). If in doubt, try the label you want to use; an illegal
name will be rejected with no harmful consequences. I would
suggest that you not trust a copy protected master disk to
any disk labeling program; who knows what sort of games they
might have played with the directory. I also recommend
against writing on a 360K disk in a 1.2 MB drive since this
could make it unreadable on some 360K drives.
Note: if you have a disk with a mixed case label (which you
can easily create with the Norton Utilities or some other
programs), WSSINDEX will not be able to change the label (DOS
rename call fails). If you need to change such a label while
Wssindex is running, you can use the DOS Shell option from
the main menu to run a labeling utility. Disks with labels
differing only in case are considered to be different when
adding disks to the database, but cannot be distinguished
when selecting by volume name. If you use really weird vol-
ume labels, such as ANSI cursor positioning commands, you
probably deserve whatever happens to you.
O - COnfiguration menu
This option takes you to the primary configuration menu.
From there, you can make changes or save a configuration file
including the control settings from the indexing menu.
R - Return to main menu
This option returns you to the main menu.
F - First indexing drive
S - Second indexing drive
B - LaBeling drive
These three options select the drive letters used for index-
ing or labeling disks. If you only have one floppy drive,
the three drive letters will usually be identical, but they
can be changed to index or label hard disk partitions.
Wssindex 5.22 33 Indexing Menu
T - Indexing sTarts from
This option allows for partial indexing of a disk. Instead
of starting from the root directory and including all files,
only files in or below the specified directory are indexed.
(The disk volume label is read from the root directory as
usual.) The format of the subdirectory specification will be
adjusted to canonical form so you need not worry about de-
tails like whether a leading or trailing backslash is needed.
Making a partial index might be useful as the first step in
checking a critical subdirectory for backups, or as a means
of indexing a CD ROM or very large disk which contains too
many files to fit in a single database.
G - Auto-category strinG
This is the string which is used for the category if config-
ured to add categories automatically.
A - Ask before replacing
This flag controls the action taken when a volume label is
found which matches one already in the database. If YES, you
are asked whether to replace the existing database entry; if
NO, the entry is replaced automatically. Generally, this
flag should be YES when indexing a collection of disks for
the first time since duplicate volume names on different
disks are easy to generate. On the other hand, if you have
not kept track of which disks have been changed without being
re-indexed and are re-indexing disks you know are already in
the database, you can set the flag to NO and replace without
verification.
C - Auto-Comment
If YES, you are transferred to the add-comments screen after
each disk is indexed. All files on the disk just entered are
selected for commenting.
U - AUto-category
If YES, all files on disks indexed are assigned the category
shown in the auto-category string. Assigning categories to
everything uses up database storage space, so don't enable
this option unless you need it.
M - Make .ID entries
In order to record the subdirectory structure of a disk, and
to allow comments to be assigned to disks and subdirectories,
it is necessary to make special database entries for the vol-
ume label and each subdirectory. These entries look like
files with the (illegal) name .ID. These entries count to-
wards the limits on the number of files, so if you don't want
to assign comments to disks or subdirectories, you can set
this option to NO and decrease the database size slightly.
Wssindex 5.22 34 Indexing Menu
Y - DummY entries include subdirectory tree
If this option is set to YES, dummy entry indexing will in-
clude the entire subdirectory tree; if set to NO, only one
entry will be made for the volume id.
Q - Query archive extraction
You may want to extract file information only from selected
archive and graphics files. If this option is YES, you are
asked before file information is extracted from any file with
an extension in one of the extraction lists.
H - Index Hidden files
Bootable disks have two hidden files which are not shown by
the DOS DIR command. If this option is set to YES, these
files are included when a disk is indexed, otherwise they are
ignored. (Indexing of any other hidden files is also con-
trolled by this flag.)
K - Ignore bacKed up files
One version of Wssindex had a bug which caused it to not see
files which had the archive bit clear when indexing a disk.
(The archive bit is a flag in the directory entry for a file
which is set when a file is created or modified and cleared
by some backup programs.) One user felt that this was a fea-
ture and asked that it be made a program option. Most users
will want to set this option to NO, but a YES setting can be
used in conjunction with the DOS ATTRIB command to control
which files are indexed.
E - Extract archive comments
Some of the archive formats allow comments for the archive or
members. If this option is YES, and extraction of informa-
tion from the appropriate archive file type is enabled, such
comments are extracted, filtered to remove unprintable char-
acters, and assigned to database files. On the indexing con-
figuration menu, you can elect to extract comments describing
the archive files without extracting file information. This
flag does not control whether image size and number of colors
are extracted from graphics files.
Primary Configuration Menu
Most of the items in this menu lead to sub-menus which are de-
scribed in detail below. The exceptions are the options to load
or save a configuration file, and, of course, the option to re-
turn to the previous menu. When loading or saving a configura-
tion file, the prompt shows the file name which will be used by
default. You can accept this default by hitting return, or you
can edit the file name using cursor keys, insert/delete, etc.
Wssindex 5.22 35 Indexing Menu
+------------------------------------+
| Primary Configuration Menu |
| |
| Printer configuration |
| SiZe limits |
| Indexing options |
| Screen, keyboard and Miscellaneous |
| Default sorting/selection options |
| Keyboard macros |
| Configured Exception list |
| Which fields to print |
| Output Format |
| |
| Load configuration file |
| Save configuration file |
| |
| Return to previous menu |
+------------------------------------+
Figure 5. Wssindex Primary Configuration Menu
P - Printer configuration
Leads to a menu describing printer characteristics.
Z - SiZe limits
Leads to a menu to set database size limits.
I - Indexing options
Leads to a menu of options controlling behavior when indexing
disks.
M - Screen, keyboard and Miscellaneous
Leads to a menu of miscellaneous items.
D - Default sorting/selection options
Leads to a menu for entering default sorting and selection
options.
K - Keyboard macros
This option displays the 26 keyboard macros available by hit-
ting Alt-letter in the add-comments section (or anywhere else
that multi-character text input is allowed) and allows you to
change them. These macros are stored in the configuration
file, not the database file. If you make any changes here,
you will be given the option to save a configuration file.
(In earlier releases, keyboard macros were called predefined
categories and could only be used in the add-comments
screen.)
E - Configured Exception list
The exception list is list of up to 100 special case names
which can be excluded from printing. By default, this list
Wssindex 5.22 36 Primary Configuration Menu
consists of only COMMAND.COM, but you might also want to add
*.BAK, AUTOEXEC.BAT or anything else you have many copies of.
Wild card names are allowed. List entries are made in full-
screen mode (the same as is optionally used for entering file
specifications when selecting files). This list is only used
if you ask for it as one of the selection options. This
semi-permanent list serves the same purpose as the one-shot
rejection list which you can enter whenever selecting files.
W - Which fields to print
Leads to a menu for selecting what information to print.
F - Output Format
Leads to a menu for controlling output format.
L - Load configuration file
S - Save configuration file
Configuration files hold the option settings entered in the
various menus, including the keyboard macros. You can save
or load a configuration file at any time, but a newly loaded
configuration file cannot change the database size limits if
a database is currently in memory. If you attempt to do
this, you will be given the option to clear the loaded data-
base. If you decline, all configuration options except the
changed size limits will take effect.
If you read or save a configuration file, the default file
name is the first of
1. The last configuration file saved or read
2. The first command line argument
3. The DOS environment variable WSSICNF (DOS command set
WSSICNF=filespec)
4. WSSINDEX.CNF (with drive and path whatever was current
when the program was loaded)
which is defined. The default name can be edited in the usu-
al manner, and TAB brings up a full-screen selection of con-
figuration files. If an error is encountered when reading a
configuration file, WSSINDEX will assume the worst and revert
to using the screen output method set by the environment
variable WSSDISP, or determined automatically if WSSDISP is
not defined.
The format of the configuration file often changes from ver-
sion to version; compatibility is not guaranteed. Usually I
try to arrange things so that most information can be ex-
tracted from an older configuration file before a read error
occurs, but major program upgrades always seem to require so
many new configuration items that maintaining compatibility
with older configuration files is not always possible. Gen-
erally, Wssindex will realize that it is reading an obsolete
Wssindex 5.22 37 Primary Configuration Menu
format before very many garbage values have been read. One
of the first things you should do with a new version is to
review your configurations settings.
R - Return to previous menu
Returns to higher level menu.
Printer Configuration Menu
Items in this menu define the characteristics of your printer.
They are also used for disk output, but have no effect on screen
output. Distances on a printed page are expressed in characters
and lines. Proportionally spaced fonts are not supported; they
will cause misaligned columns.
+---------------------------------------+
| Printer configuration menu |
| |
| Paper Width to right margin 80 |
| Paper Length 66 |
| Left Margin 0 |
| Top margin 3 |
| Bottom margin 8 |
| Use Form feeds YES |
| Pause at page breaks NO |
| Printer port Name LPT1 |
| |
| POstscript printer setup |
| |
| Return to primary configuration menu |
+---------------------------------------+
Figure 6. Wssindex Printer Configuration Menu. Some commands use
additional printer controls from the printer definition file.
W - Paper Width to right margin
This is the width of the paper, less any desired allowance
for a right margin. (The number entered here does not depend
on the left margin setting.) If your printer does an auto-
matic carriage return and linefeed when a character is print-
ed in the rightmost column, you should set the width to pre-
vent using this column. Page numbers are right justified to
the page width setting.
L - Paper Length
This is the length of the paper, typically 66 lines for 11
inch paper at 6 lines per inch, but slightly smaller (60 or
62) for laser printers which can't print on the first or last
few lines of a page, or larger for A4 size paper.
Wssindex 5.22 38 Primary Configuration Menu
M - Left Margin
T - Top margin
B - Bottom margin
The number of spaces or lines to leave blank in each margin.
Note that a right margin allowance is made by using a smaller
paper width specification.
F - Use Form feeds
Most, but not all, printers respond to a form feed command to
eject the current page. For printers which do not recognize
form feeds, set this option to NO and page advance will be
done by inserting blank lines. The disadvantage of disabling
this option is that if some glitch messes up the line count-
ing, the error will propagate to following pages, whereas
doing a line feed resynchronizes the program and printer line
counting. Depending on your printer, if you are printing
with zero bottom margin, it may be necessary to set this op-
tion to NO to prevent printing every other page blank.
P - Pause at page breaks
If a manual-feed sheet printer is used, set this option to
YES so that output will pause for paper change.
N - Printer port Name
The default printer port is device PRN, which is usually the
same as LPT1. You may select PRN, LPT1, LPT2, LPT3 or EPT.
If you have a serial printer, and port PRN doesn't work, use
the DOS mode command to redirect LPT1 to the appropriate COM
port.
O - POstscript printer setup
Leads to menu for selecting postscript options.
Postscript Printer Setup Menu
+---------------------------------------+
| Postscript Printer Setup |
| |
| Use Postscript printer YES |
| Disk output also postscript NO |
| Landscape output NO |
| Font Size (points) 10 |
| Extra line spacing (points) 2 |
| |
| Return to previous menu |
+---------------------------------------+
Figure 7. Wssindex Postscript Printer Setup Menu. Some commands
use additional printer controls from the printer definition file.
P - Use Postscript printer
Select YES if you want to use a postscript printer. Note
that Wssindex does not take full advantage of power of a
Wssindex 5.22 39 Printer Configuration Menu
postscript printer. In particular, only Courier fonts are
supported because that's the only non-proportional font which
all postscript printers contain.
D - Disk output also postscript
Select YES if output directed to disk should also be post-
script format.
L - Landscape output
Select YES for landscape (90 degree rotated) output. Note
that for non-postscript printers, landscape output can only
be selected by commands in a printer definition file.
S - Font Size (points)
E - Extra line spacing (points)
Print size and inter-line spacing are specified in points;
there are approximately 72 points in one inch. Typical font
sizes would be 10-12 points for ordinary text, perhaps 7
points or smaller for disk covers or labels. Wssindex ex-
pects integral point sizes. Spacing between lines is the
font size plus the extra spacing. Word processing programs
often default to 2 points more for spacing than for the font
size, but you may find that 1 or even 0 points looks better.
Database Size Limits
The entire Wssindex database is kept in memory. Thus, the maxi-
mum database size depends on available memory, and under MS/PC-
DOS, that usually means less than 640K. (However, if your system
provides more conventional memory, Wssindex will use it.)
Wssindex/Extended also keeps the entire database in memory, but
it can use up to 16 MB of extended memory. The overhead for
memory management is greatly reduced if space for certain fixed
sized items is allocated in a few large chunks rather than in
small pieces as a database grows. Also, the DOS Shell option
requires some memory which could otherwise be used for the data-
base. These considerations mean that the program must know the
maximum database size before the database is loaded. However,
these limits can be changed before a database loaded from disk,
so numbers entered here do not restrict future database growth.
Wssindex 5.22 40 Printer Configuration Menu
+-------------------------------------------+
| Database size limits |
| |
| Maximum number of Files 3000 |
| Maximum number of Subdirectories 600 |
| Maximum number of Disks 300 |
| |
| Allocate Memory and display status |
| |
| Longest allowed Comment 64 |
| Longest allowed category 64 |
| |
| Return to primary configuration menu |
+-------------------------------------------+
Figure 8. Wssindex Database Size Configuration Menu
F - Maximum number of Files
S - Maximum number of Subdirectories
D - Maximum number of Disks
These options set the limits on the numbers of files, subdi-
rectories and disks in a database. In the DOS version of
Wssindex, each must be less than 16,384, regardless of avail-
able memory. In practice, it's usually the number of files
which is most constricting. 10-12,000 files can usually be
accommodated in 640K, provided that a significant amount of
memory is not also being used for comments and categories.
With Wssindex/Extended and 16 MB of RAM, you could probably
handle 300,000 files. The number of bytes used is given in
the table below. In addition, each subdirectory name takes
some space.
Bytes per DOS Extended
version version
File 36 42
Subdirectory 6 8
Disk 27 29
A maximum length comment or category takes up more database
memory than 3 file entries, so a heavily commented database
could run into memory space problems even at 3000 files.
M - Allocate Memory
Memory is not allocated until you either leave this menu or
select this item. When you select this item, you get the
same summary of size limits and available memory as is given
by the display statistics option from the main menu. So, you
can make repeated adjustments and check status without leav-
ing this menu. If there is not enough memory for the re-
quested size limits, you will get an error message and the
option to give up and return to DOS; the default answer is
no. The size limits revert to the last successfully allocat-
Wssindex 5.22 41 Database Size Limits
ed values, but the display will still show the last requested
values. Insufficient memory for variable length items (sub-
directory names, comments and categories) will be detected as
a database is read or expanded.
C - Longest allowed Comment
L - Longest allowed category
Comments and categories extracted from archive files or en-
tered on the add-comments screen can only be as long as spec-
ified here. The longest comment allowed is 1023 characters;
the longest category 64. (Prior to version 5.2, both maxi-
mums were fixed at 64. Comments longer than this will make a
database unreadable by older versions of Wssindex.) If a
comment or category longer than the configured maximum is
found when a database is loaded, it will be truncated to this
maximum and a warning issued. Setting the maximum to zero
forces removal of the comment or category when the database
is read. Setting the maximum has no effect on a comment or
category already in memory.
R - Return to primary configuration menu
Returns to the previous menu.
Indexing Configuration Menu
Items in this menu control program behavior during disk indexing.
Many of these items are duplicated on the indexing sub-menu.
+-------------------------------------------------------+
| Indexing configuration menu |
| |
| Indexing drive number 1 A |
| Indexing drive number 2 B |
| Make .ID entries (allows disk/subdir comments) YES |
| Ask Before replacing NO |
| Auto coMment after disk indexed NO |
| Auto caTegory for all files NO |
| Ask before eXtracting archive info NO |
| Extract comments from archive files YES |
| Auto cateGory string (none) |
| |
| File extensions for Archive information extraction |
| File extensions for graPhics information extraction |
| |
| Return to primary configuration menu |
+-------------------------------------------------------+
Figure 9. Wssindex Indexing Options Configuration Menu
1,2 - Indexing drive number
If you have two drives, Wssindex will read from them alter-
nately when indexing so that you can be swapping disks in one
Wssindex 5.22 42 Database Size Limits
drive while the other is being used. If you have only one
drive (or if you only want to use one drive), just enter the
same letter for both drives.
I - Make .ID entries
In order to record the subdirectory structure of a disk, and
to allow comments to be assigned to disks and subdirectories,
it is necessary to make special database entries for the vol-
ume label and each subdirectory. These entries look like
files with the (illegal) name .ID. These entries count to-
wards the limits on the number of files, so if you don't want
to assign comments to disks or subdirectories, you can set
this option to NO and decrease the database size slightly.
B - Ask Before replacing
If a disk is encountered while indexing which has the same
volume label as one already in the database, it could be ei-
ther a different disk with a duplicate name or the same disk
being re-indexed. This option controls whether any warning
is given before a duplicate disk is replaced.
M - Auto coMment
If YES, automatically go to the add-comments screen after
each disk is indexed, with all files from the disk selected.
T - Auto caTegory
If YES, assign the auto-category string to all files as disks
are indexed.
X - Ask before eXtracting archive info
You may want to extract file information only from selected
archive and graphics files. If this option is YES, you are
asked before file information is extracted from any file with
an extension in one of the extraction lists.
E - Extract comments from archive files
Some of the archive formats allow comments for the archive or
members. If this option is YES, such comments are extracted,
filtered to remove unprintable characters and excess blanks,
and assigned to database files.
G - Auto cateGory string
This string is used for the category if configured to add
categories automatically.
A - File extensions for Archive information extraction
P - File extensions for graPhics information extraction
These two options lead to menus to select what types of ar-
chive and graphics files should be processed to extract di-
rectory, comment or image size information.
Wssindex 5.22 43 Indexing Configuration Menu
Archive file extraction configuration menu
+------------------------------------------------+
| Archive file extraction configuration menu |
| |
| ARC YES LZS YES |
| ARJ YES PAK YES |
| ARK YES PKA YES |
| HYP YES SDN YES |
| LBR YES ZIP YES |
| LZH YES ZOO YES |
| |
| Return to indexing configuration menu |
+------------------------------------------------+
Figure 10. Archive file types from which information can be ex-
tracted.
Graphics file extraction configuration menu
+-------------------------------------------------+
| Graphics file extraction configuration menu |
| |
| BMP YES |
| GIF YES |
| PCX YES |
| TIF YES |
| |
| Return to indexing configuration menu |
+-------------------------------------------------+
Figure 11. Graphics file types from which image size information
can be extracted.
Extension for extraction
Files with extensions marked YES on these two menus will be
processed as archive or graphics files when disks are in-
dexed. Archive types which allow archive comments can be
marked "Only comments", meaning that file information is not
extracted, but an archive comment will be extracted if Ex-
tract comments is YES.
Miscellaneous Configuration Menu
This menu includes a variety of miscellaneous items, including
the paths to the color selection and video board configuration
menus.
Wssindex 5.22 44 Archive and Graphics files
+-------------------------------------------------------+
| Screen, keyboard and miscellaneous configuration |
| |
| Perform automatic inteGrity check NO |
| MaNual cursor motion in menus NO |
| Function key layout matching IBM YES |
| Use BIOS to read Keyboard NO |
| Inverted meaning for PgUp/PgDn NO |
| Create .BAK files YES |
| Enable Alarm sound YES |
| Change Prompt in DOS shell YES |
| Strip High-bit when viewing files YES |
| Use color YES |
| Use Mouse NO |
| Mouse Sensitivity 50 |
| |
| Set Colors |
| Video board configuration |
| |
| Return to primary configuration menu |
+-------------------------------------------------------+
Figure 12. Wssindex Screen, Keyboard and Miscellaneous
Options Configuration Menu
G - Perform automatic inteGrity check
A disk indexing program infected by a computer virus could
spread the infection to every write-enabled disk indexed. To
provide partial protection, Wssindex will read its executable
file from disk and perform a checksum test. If the expected
checksum is not found, a warning will be displayed the first
time you enter the main menu. Since this test requires read-
ing the program from disk, it requires about the same amount
of time as loading the program. With a fast hard disk, this
time is negligible, but on a floppy it could be annoyingly
long, hence the option of disabling the test.
This type of integrity test is far from foolproof. First, it
only tests whether the program itself is infected, not wheth-
er a virus from a previously run program is active. Second,
viruses exist which detect that a program is reading its disk
image and feed back the uninfected image. Finally, a virus
targeted against a specific program could remove the
checksumming code entirely. I intend to change the details
of the integrity check from release to release in order to
make this last attack more difficult. There are now several
programs available which attempt to check for virus infec-
tions by known viruses, or to block destructive actions.
Since I have never actually encountered a virus, I cannot
comment on how effective such programs might be. I do know
that computer scientists have demonstrated that writing a
"universal virus detector" is not possible.
Wssindex 5.22 45 Miscellaneous Configuration
In order to perform the checksum test, the program must know
its name and where it was loaded from. Under DOS 3.0 or
higher, this is trivial, and under previous DOS versions it
is impossible. When running under DOS 2.x, the program name
is assumed to be WSSINDEX.EXE, and the current directory and
the PATH are searched for this name. Thus, if you wish to
use the integrity check under DOS 2.x, you must change the
program name from the distributed name which includes the
version number.
There are various utilities available which compress an exe-
cutable file on disk and automatically decompress when the
program is loaded. If such a utility is used, the disk im-
age, and hence the checksum, is changed, so the integrity
check will fail. However, such a compression utility may
provide an equivalent checksum test. Except for this consid-
eration, the DOS version of WSSINDEX has been tested and
found to be compatible with the program LZEXE version 0.91
(Fabrice Bellard, 451 chemin du mas de Matour, 34790 Grabels,
France) and the LZESHELL program (Pete Petrakis, 1236 River
Bay Road, Annapolis, Maryland 21401) which translates LZEXE's
messages into English. LZEXE compresses the unpacked
WSSI522.EXE by about 50% and the reduced disk access time
more than compensates for the decompression overhead. PKLite
(PKWare) and DIET (Teddy Matsumoto) perform similarly.
Wssindex/Extended cannot be compressed by any of these pro-
grams.
N - MaNual cursor motion in menus
When you select menu items, Wssindex tries to guess whether
you will want to keep the cursor on that item or advance to
the next item. Set this option to YES to disable this fea-
ture.
F - Function key layout matching IBM
The function key help in the add-comments screen is arranged
in two columns, just as the function keys on many keyboards.
If you have an unusual keyboard which has F2 below F1 rather
than beside it, such as is found on your author's old Sanyo
555, set this option to NO and the help screen arrangement
will match the key arrangement. If your function keys run
across the top of the keyboard, pick whichever arrangement
seems best.
K - Use BIOS to read Keyboard
If YES, the keyboard is read using a BIOS call rather than a
DOS call. Select YES here if you have used ANSI.SYS to rede-
fine keys and do not want Wssindex to use these redefini-
tions. Select NO if your machine is not IBM compatible. If
neither of these applies, the setting of this flag doesn't
really matter.
Wssindex 5.22 46 Miscellaneous Configuration
I - Inverted meaning for PgUp/PgDn
Your author became accustomed to an hp terminal long before
he ever saw a PC keyboard. The hp keyboard had NEXT SCREEN
and PREVIOUS SCREEN keys in the same positions as PgUp and
PgDn, but the positions were interchanged relative to meaning
most programs assign to the PC keyboard keys. Your author
sets this option to YES and goes through contortions to get
other programs to do the equivalent translation; probably
everyone else will set it to NO.
B - Create .BAK files
When a database is saved, and an existing file of the same
name is found, the old file can be either overwritten or re-
named with a .BAK extension. The latter option is obviously
safer since the old file remains if the save fails, but the
output disk might not have enough room for two databases. If
you elect not to create .BAK files, you will be warned that
an old file of the same name exists and must confirm that you
really want to overwrite it. If creating .BAK files, a two
generation old .BAK file will be erased so that the previous
database file can be renamed.
A - Enable Alarm sound
Some error messages include a beep. This option allows you
do disable all such sounds.
P - Change Prompt in DOS shell
The prompt when shelled to DOS can be either changed to "EXIT
to return to Wssindex" followed by a newline and your origi-
nal prompt to remind you that you are in a shell, or left
unchanged.
H - Strip High-bit when viewing files
Files created by WordStar, and possibly other files, have the
high-bit set on some characters. When viewing such files
from the add-comments screen, it is desirable to turn off the
high-bit to make the text readable. On the other hand, lan-
guages other than English use characters with the high-bit
set. So, generally this option should be set to YES for Eng-
lish language users and NO for other languages.
U - Use color
By default, the program will run in monochrome. (This does
not refer to the type of video board which is a separate se-
lection.) To get color, set this option to YES and also se-
lect set Colors to get a color-selection menu. Actually, the
setting of this control is only important if using DOS calls
for screen output. With direct video writes, you can get
colors even if this option is set to NO.
Wssindex 5.22 47 Miscellaneous Configuration
M - Use Mouse
Set this option to YES to enable the mouse. There are two
possible reasons why you might not want to do this: first,
the standard method of testing whether a mouse is present
causes some non-compatible machines to crash, and second,
when the mouse is active, the program sits in a loop alter-
nately checking for keyboard or mouse input rather than sim-
ply asking DOS to read the next keystroke. In a multi-task-
ing environment this wastes CPU cycles which could be used by
tasks in other windows. (Wssindex will detect if it is run-
ning under DESQview and will give up its time slice if there
is no keyboard or mouse input pending.)
S - Mouse Sensitivity
A smaller number here means less mouse motion is necessary to
move the highlight bar.
C - Set Colors
This option leads to the color selection menu.
V - Video board configuration
This option leads to the video board selection menu.
R - Return to primary configuration menu
Returns to the previous menu.
Default Sorting and Selection Options Menu
+-------------------------------------------------+
| Default Sorting and Selection Options |
| |
| Selection list (none) |
| Sort Keys (none) |
| |
| Return to main menu |
+-------------------------------------------------+
Figure 13. Wssindex Default Sorting and Selection Options Menu
S - Selection list
K - Sort Keys
When listing files with the Find or Print options, you are
prompted for selection and sort options. The two menu items
here allow you to specify the default selection and sort key
lists. If present, each will be a list of numbers, separated
by commas. These lists may be edited at the time of use, but
such editing does not change the defaults. If you want to
erase one of these lists, just delete the characters. Do not
type "none" else you will find that the characters "none"
become the default, which isn't what you want.
Wssindex 5.22 48 Miscellaneous Configuration
R - Return to previous menu
Returns to the primary configuration menu.
Output Fields Configuration Menu
This menu is used to select what information is displayed when
files are listed. Note that displaying all items requires con-
siderably more than 80 characters. The output format menu is
used to control how long lines are handled.
+-------------------------------------------------------+
| Output fields configuration menu |
| |
| Print File name and extension plus |
| |
| DuPlicate flag NO Volume YES |
| Size YES SuBdirectory YES |
| Date YES Archive file name YES |
| Time YES Comment YES |
| SEconds YES CateGory YES |
| |
| Return to primary configuration menu |
+-------------------------------------------------------+
Figure 14. Wssindex Output fields configuration menu
P - DuPlicate flag
An asterisk following the file name if the name is the same
as the previous file listed. Note that whether a file is
flagged depends on the sort order and selection options.
S - Size
File size in bytes.
D - Date
Date of last modification; date format is selected in the
output format menu.
T - Time
Time of last modification; always omitted if date is not
printed.
S - Seconds
Seconds field of modification time; always omitted if time is
not printed. Since MS-DOS only stores the file time to the
nearest two seconds, this will always be an even number.
V - Volume
Disk volume label.
Wssindex 5.22 49 Sort/select Defaults
B - SuBdirectory
Subdirectory name or "Root" for root directory.
A - Archive file name
The name of the containing archive file, if any.
C - Comment
File comment, if any.
G - CateGory
File category, if any.
Output Format Configuration Menu
+------------------------------------------------------------+
| Output format configuration menu |
| |
| Number of Blank lines between headers 0 |
| Number of blank lines after Headers 1 |
| |
| File name style FN EXT |
| Date style mm/dd/yy |
| Archive file delImiter [...] |
| DeliMiter around first of comment/category (...) |
| |
| Enter 0 width to use variable field size |
| |
| Field width for Subdirectories 0 |
| Field width for Archive name 0 |
| Field width for Comment or category 0 |
| |
| Print comments bEfore categories NO |
| Always start New line for comment/category info NO |
| MaX wrapped print lines per file 2 |
| Indentation for Wrapped lines 10 |
| |
| Return to primary configuration menu |
+------------------------------------------------------------+
Figure 15. Wssindex output format configuration menu
B - Number of Blank lines between headers
H - Number of blank lines after Headers
File and volume listings have two header lines, one with a
title, the second with column headings. These options select
how many blank lines to insert between header lines, or be-
tween the header lines and the data lines. These parameters
are ignored for screen output.
F - File name style
Selecting this option will toggle the file name format be-
tween FN EXT and FN.EXT.
Wssindex 5.22 50 Output Fields Configuration
D - Date style
Selecting this option will cycle through the various date
formats: mm/dd/yy, dd/mm/yy, yy/mm/dd or 01-Jan-80. The day,
month, year order selected here is used for both input and
output. The date format implied by the COUNTRY= option in
CONFIG.SYS is not used.
I - Archive file delImiter
The name of the archive file containing the listed file can
be printed surrounded by (), <> or []; selecting this item
cycles through the possible delimiters. One of these markers
is recommend to distinguish the archive name from the follow-
ing field if a fixed field width is not used.
M - DeliMiter around first of comment/category
The same sets of delimiters can be used to mark comments or
categories as are used to mark archive files. It is the
field which is configured to print first which is surrounded
by this delimiter.
S - Field width for Subdirectories
A - Field width for Archive name
C - Field width for Comment or category
Displaying all possible file information on a single line,
neatly arranged in columns and allowing for the maximum pos-
sible length of all fields, would require well over 200 print
positions even if comments were restricted to the old 64
character length limit. Perhaps some printers can print
lines this long, but generally some compromise must be made.
The possibilities are to not print everything, limit the
field widths, not require columnar alignment for potentially
long, variable length items, or print multiple lines. If a
field width is specified as 0, as many spaces as needed will
be used and line wrapping will be done, subject to line
length constraints. Non-zero widths should be specified if
neat columns are desired; overly long items will be truncated
at the field width.
E - Print comments bEfore categories
Either comments or categories can be printed first.
N - Always start New line for comment/category
If YES, a new print line will be started for any comment or
category.
X - MaX wrapped print lines per file
Specifies the maximum number of continuation lines which may
be printed for a single file. Subdirectory names, comments
and categories are word-wrapped if they don't fit on the cur-
rent print line. A zero here means only one line, which
probably isn't enough to print comments or categories unless
you are using a small font or a wide-carriage printer.
Wssindex 5.22 51 Output Format Configuration
W - Indentation for Wrapped lines
Specifies the number of spaces that continuation lines are
indented. You can reasonably enter a small number like 5 or
10 here, or you can use a number sufficient to align wrapped
comments with the first character of the comment.
R - Return to primary configuration menu
Return to the previous menu.
Video Board Configuration
This menu selects the screen output method. This selection is
buried in this menu because it only needs to be made once, and
because accidentally configuring for the wrong type of video
board is likely to cause an immediate crash. Any changes made
here take effect when you leave this menu.
+-------------------------------------------------------+
| Video board configuration Menu |
| |
| Screen writing method (changes only on menu exit) CGA |
| Use DOS calls for prompts (for screen readers) NO |
| Suppress snoW on CGA NO |
| Raw Mode screen output NO |
| |
| Use BIOS call to set screen size NO |
| AX value for BIOS call 0 |
| BX value for BIOS call 0 |
| Screen wIdth 80 |
| Screen Height 25 |
| AX value for BIOS call on exit or push-to-DOS 0 |
| BX Value for BIOS call on exit or push-to-DOS 0 |
| |
| Return to previous configuration menu |
+-------------------------------------------------------+
Figure 16. Wssindex video board configuration menu
S - Screen writing method
Screen output may be done using either DOS calls or direct
video writes. The former is slower, and on most systems re-
quires that ANSI.SYS be installed (see Appendix B, page 74).
However, if running in a background window, using DOS calls
may prevent screen output from bleeding through to the fore-
ground window. The direct write methods are MDA for Mono-
chrome Graphics Adapter, CGA for Color Graphics Adaptor, EGA
for Enhanced Graphics Adapter, and VGA for Video Graphics
Array. EGA and VGA differ (here) from CGA only in the com-
mands to set the border color. A Hercules board should be
configured as an MDA.
Wssindex 5.22 52 Output Format Configuration
Normally the value here is determined automatically, but you
might need to change it if the auto-detection fails or if you
change your hardware. If you enter the wrong video type
here, you will likely have to reboot after leaving this menu
because the screen will no longer be updated properly.
D - Use DOS calls for prompts (for screen readers)
This option is for blind users. If YES, prompts for user
input, status reports and error messages are displayed by
temporarily switching to DOS-calls video display, then re-
turning to the configured screen-writing method. This allows
screen-reading programs to separate important messages from
menu displays. Note that in all cases, the DOS cursor fol-
lows the highlight bar, so screen readers should have no
problem in telling where Wssindex thinks the cursor is locat-
ed.
W - Suppress snoW on CGA
Older CGA boards cannot display properly while they are being
written to. If this option is YES, writes to video memory
will be synchronized with the horizontal retrace to minimize
screen disruption. This will slow down the updating.
M - Raw Mode on screen output
Raw mode means do not check for control-c or control-s after
every character of screen output. Setting this option to YES
will speed DOS calls screen output slightly, but the differ-
ence will probably not be noticeable.
B - Use BIOS call to set screen size
If yes, a BIOS interrupt 10H is used to set the screen dimen-
sions. This option should only be enabled on a machine which
is at least moderately IBM compatible.
A - AX value for BIOS call
B - BX value for BIOS call
If non-zero, the values passed in the AX and BX registers
when the video interrupt is generated. Most boards need only
AX; set BX=0 unless you need another value. See the manual
for your video board or appendix I, page 85 for a listing of
values for various boards. Manuals may give hex values; con-
vert them to decimal for this menu.
I - Screen wIdth
H - Screen Height
The screen width and height in characters, either on entry or
after the video interrupt to set the screen size.
Wssindex 5.22 53 Video Board Configuration
X - AX value for BIOS call on exit or push-to-DOS
B - BX Value for BIOS call on exit or push-to-DOS
These parameters, if non-zero, are used to set the screen
dimensions before exiting or pushing to DOS. Typically an AX
value of 2,3 or 7 would be used here to return to 80x25 mode.
R - Return to previous menu
Returns to the miscellaneous configuration menu.
Color Selection Menu
+-----------------------------------------------------+
| Attribute Foreground Background |
| |
| Normal text none white blue |
| Highlights bold yellow blue |
| Status info bold white white |
| Selector bar bold yellow magenta |
| Border color none blue |
+-----------------------------------------------------+
Figure 17. Wssindex color selection screen
Use + and - keys to cycle forward and backward through colors, or
left mouse button to advance colors. Cursor arrow keys or mouse
select which item is to be changed. Hit ENTER or the right mouse
button when done. A selector bar is not used if using DOS calls
for screen output, so this option may not be displayed. The
border color control is not functional on all systems, in partic-
ular, EGA cards may not allow colored borders. Also, while there
is an ANSI escape sequence for setting the border color, most
implementations of ANSI.SYS do not support it, so the border
color selection will usually not work in DOS-calls mode. The
actual screen colors may not match the labels exactly. For in-
stance, on a monochrome system, blue on black will give under-
line, and non-bold yellow may display as brown. As you cycle
through colors, the labels at the left will change to the select-
ed colors.
The Add-Comments Menu
The add-comments menu screen displays each matching file name
along with the disk and subdirectory it is found on, as well as
the containing archive file for archive file members. Starting
with version 3.2, each disk and each subdirectory will cause a
dummy database entry to be made with a blank file name and exten-
sion of "ID". These entries, which receive special treatment
when printing, give you a place to hang comments describing an
entire disk or subdirectory.
Wssindex 5.22 54 Video Board Configuration
+-------------------------------------------------------------+
| Add comments menu |
| |
| Disk id: MS-RAMDRIVE File name: .ID |
| Subdirectory: Root |
| |
| Copy buffer: |
| |
| |
| Current file: |
| |
| |
| New comment: |
| category: |
| |
| |
| F 1 - copy comment F 2 - delete comment |
| F 3 - copy category F 4 - delete category |
| F 5 - copy both F 6 - chng srch direction |
| F 7 - skip to next F 8 - view file |
| F 9 - add comment and advance F10 - return to main menu |
| ENTER - comment/category toggle INSERT - insert/overtype |
| Alt-F1 - toggle help Ctrl-END - delete to end |
| |
| Searching forward INSERT OFF |
+-------------------------------------------------------------+
Figure 18. Wssindex add-comments screen
The ten function keys, alt-letter keys, plus BACKSPACE, INSERT,
DELETE, ENTER, HOME, and the left/right cursor arrows are used to
control this part of the program. Two different sets of function
key assignments can be selected from the configuration menu to
support different keyboard layouts. (A third set of key assign-
ments is used in the Rainbow version.) While it doesn't really
matter which arrangement you use, the placement of the functions
and the position of the on-screen help are more rational if you
select the layout which matches your keyboard. The descriptions
below assume that you are using the IBM layout, which is now the
default if no configuration file is found (early program releases
supported only the alternate layout).
Function Key layouts
F1 F2 F1 F6 PF1 F17
F3 F4 F2 F7 PF2 F18
F5 F6 F3 F8 PF3 SELECT
F7 F8 F4 F9 NEXT SCREEN FIND
F9 F10 F5 F10 PF4 EXIT
IBM Alternate Dec Rainbow
(Function keys may be labeled Fn or PFn)
Wssindex 5.22 55 Add-Comments Menu
A help menu and three sets of information are displayed:
Copy buffer - a comment/category pair which can be copied into
the new comment field.
Current file - the comment/category currently in the database for
the displayed file.
New comment/category - the comment and category currently being
entered.
The special functions available are:
F1 - Copy comment: if the file has a comment, copy it to the
new comment field; otherwise, copy the comment in the copy
buffer. If you want to replace an existing comment with
one from the copy buffer, you must first delete the old
comment (F2). Note that this does not actually add a com-
ment to the file until you hit F9.
F2 - Delete comment: any comment for the current file is de-
leted immediately. If you have entered something in the
new comment field, and decide that you do not want to have
any comment associated with the file, just hit F2 to de-
lete the old comment, followed by F7 to skip to the next
file without adding the contents of the new field to the
database. It is not necessary to clear the text entered
into the new comment field.
F3 - Copy category: if the file has a category, copy it to the
new category field; otherwise, copy the category in the
copy buffer. As with F1, this does not actually add a
category until F9 is hit.
F4 - Delete category: any category for the current file is de-
leted immediately. Proceed as described under F2 to de-
lete a category after having entered something into the
new category field.
F5 - Copy both: the same as hitting both F1 and F3.
F6 - Change search direction: toggles the search direction for
the next matching file between forward and backward.
F7 - Skip to next: advance to the next file, without changing
the current comment and category fields.
F8 - View file: the first indexing drive is searched for the
current file. The disk volume name must match (an unla-
beled disk will be accepted). If the file is found, it is
displayed on the bottom half of the screen. Non-printing
characters are translated to periods, so there is no prob-
lem with viewing a non-ascii file. The configuration may
be set to clear the high bit of each character to make
Wssindex 5.22 56 Add-Comments Menu
WordStar files printable. Lines longer than the screen
width are truncated. This function will fail and claim
that the file could not be found if there is not enough
free memory to open a file.
F9 - Add comment and advance: the new comment and category (if
any) are added to the current file and copied to the copy
buffer. Blank fields will not be copied and will not
change the record for the current file.
F10 - Return to the main menu.
BACKSPACE - (or Delete key on Rainbow) Delete character to left
of cursor.
DELETE - (Remove key on Rainbow) Delete character under the cur-
sor.
INSERT - (Insert Here on Rainbow) Toggle between insert and
overwrite mode.
ENTER - Toggle between comment and category.
Left/right cursor arrows - Move around in the comment or category
strings for editing.
Control-left/right cursor arrows - Move the cursor in word rather
than character steps.
PgUp/PgDn - (Prev/Next screen on Rainbow) Move the cursor in
steps 5 characters less than the field width. These keys
are primarily useful if you are entering long comments.
HOME - (PF1 Screen on Rainbow) Move the cursor to the beginning
of the current field.
END - (F19 key on Rainbow) Move the cursor to the end of the
current field. (Hitting return twice will also do this.)
Control-END - (F4 key on Rainbow) Delete characters from cursor
to end of field.
Alt-F1 or Shift-F1 - (Help key on Rainbow, control-1 on Sanyo
550) toggle help display between function key descriptions
and list of keyboard macros.
^R - Redraw the entire screen. It shouldn't be necessary to
use this key very often, if ever, but occasionally a DOS
error message or a program problem can scroll or otherwise
mess up the parts of the screen which are normally con-
stant.
Wssindex 5.22 57 Add-Comments Menu
Alt-letter - Append one of the 26 keyboard macros to the category
field, along with a comma and a space if anything was pre-
viously entered there. (The behavior here is slightly
different than in other parts of the program where the
macro strings are simply appended to any previous input).
Note that changing the keyboard macros will not change the
categories which have already been assigned to files; it
is the actual string which is saved for each file. Also,
the macros are stored in the configuration file, not the
database. (In the DEC Rainbow version, F20 is used as a
substitute for the Alt key. On a 100A, you can also use
the Compose key.)
When all files which match the selection criteria specified have
been processed, you normally return to the previous menu. This
would make it inconvenient to apply corrections to a previously
commented database, or otherwise process several groups of files
selected by name. So, if the only selection criterion is the
filename, you will be prompted for a new list of filespecs when
all matching files have been processed, and the selected files
will automatically be sorted using the same sort keys (if any).
At this point, you can also just hit ESCAPE to return to the main
menu.
Comment and category lengths are limited to values set in the
configuration. If you use the category field as it is named it
will usually be one or more relatively short phrases. Some users
may want to use this field as a version number. WSSINDEX will
not allow control characters in comments, but anything else,
including high-bit ascii, is acceptable. If the comment length
is larger than will fit on screen, the display will scroll left-
right in steps as you move the cursor through the comment.
WSSINDEX Utilities
All of the utilities read a standard configuration file, although
in some cases the only information actually used is the screen
writing method and screen colors.
IDADD Conversion Utility
WSSINDEX version 3.2 introduced a new option to assign comments
to disks and subdirectories in addition to files. This feature
was implemented by making dummy database entries (which look like
files with name .ID) for each disk and subdirectory. However,
databases created by older versions of the program will not have
these entries, and WSSINDEX would only create them if the disks
were re-indexed. Also, it is now possible to configure to not
generate .ID entries for volume names.
Wssindex 5.22 58 Add-Comments Menu
IDADD is a utility for adding these dummy entries to a database
without re-indexing. It will also insert a .ID entry in place of
the DUMMY_EN.TRY file which older versions of WSSINDEX created
when a disk was indexed with the control-a option (and will pre-
serve any comment associated with the old entry). It will recog-
nize disks which already have .ID entries and just copy them, so
you can use this utility on any database (except old version 1.x
databases which must first be converted by loading and saving
with WSSINDEX).
IDADD reads a standard configuration file, mostly to get the
video output mode and screen colors. You can specify the config-
uration and input database file names on the command line, or
allow IDADD to prompt you for them. The output database name
must be entered interactively.
*** Warning ***
The name of the output database must not be the same as the input
database, else the output will overwrite the input during the up-
dating process.
One small quirk: if you have a subdirectory with no files in it,
IDADD will not create a dummy entry for it, whereas WSSINDEX
would if the disk were reindexed. It would be moderately diffi-
cult to change this, so I won't do it unless I get complaints.
WSSMERGE Database Merging Utility
WSSMERGE merges two WSSINDEX databases. Only databases written
by WSSINDEX version 2.0 or higher can be merged. Older databases
can be converted by loading them into a current version of
WSSINDEX and resaving them. Since WSSINDEX itself can now merge
databases, this utility is almost obsolete.
WSSMERGE reads a standard configuration file, mostly to get the
video output mode and screen colors.
When merging, you can elect to assign a common category to all
files from the first database, and a second category to files
from the second database. This might be useful if you had small
databases organized by category, and wanted to merge them into a
single database. You can suppress either common category by just
hitting return when prompted for the category. In any case,
previously entered categories are not changed.
The names of the configuration file, input and output databases,
merged database, and common categories can be entered on the com-
mand line (in this order). If some or all are omitted, the pro-
gram will prompt you for them. The WSSICNF environment variable
is used for the default configuration file name, and if you do
Wssindex 5.22 59 Idadd
not specify file extensions, .CNF or .DIR is assumed, but other-
wise there are no defaults for the names. If you want to specify
a null category, enter a hyphen.
*** Warning ***
The name of the output database must not be the same as either of
the input databases, else the output will overwrite the input
during the merging process.
The disk space required for the output file will be approximately
the sum of the input sizes, but the entire merged database will
not be in core at once, so you may be able to create a database
larger than you can restore. If the output file would exceed the
16K file limit, you will be warned that WSSINDEX/Extended is
required to read the file.
One error which the program may warn you about after completing
the merging operation is duplicate volume names in the database.
The duplicate entries are not deleted from the merged database
because that operation is difficult to perform without loading
the entire database into memory. WSSINDEX has an option to de-
lete these duplicate volumes.
SPLIT Database Splitting Utility
SPLIT takes a WSSINDEX database and splits it into two smaller
databases. This function is something you might want to do if a
database is pushing against the memory limits. The output data-
bases will be written in the format compatible with the DOS ver-
sion unless the number of files exceeds 16K.
SPLIT accepts 4 optional command line parameters: configuration
file name, input database name, and two output database names.
If specified, the database names become defaults which must be
confirmed by hitting return.
After entering the database names, you are shown all the volume
names on one or a few screens with volumes which will go to the
second database highlighted. (Initially, all volumes are marked
as going to the first database.) Move the cursor (allowed mo-
tions summarized below) to the volumes which you want to go to
the second output database and hit the spacebar. The volume name
will be highlighted to indicate that the disk will go to the
second database, and the cursor will move to the next volume in
the list. If you change your mind, just tag the volume again and
it will toggle back.
At any time, you can sort the list of volumes by name, date in-
dexed, free disk space or numeric part of volume name. (It's not
clear how useful some of these sort keys are, but they already
Wssindex 5.22 60 Wssmerge
existed from other places.) After marking volumes, you can ei-
ther abort the program or write the two databases.
This is a rather crude utility in that it doesn't give you very
much information to help you decide how to divide the disks.
However, because it is simple, it can handle large databases in
limited memory, hence it can be used to break up a database which
is too large to loaded on some machines.
Cursor motions Standard keyboard Rainbow keyboard
up/down/left/right arrow keys arrow keys
first volume shown home Help
1st column ctl left arrow ctl left arrow
last column ctl right arrow ctl right arrow
bottom of column end Insert Here
last volume shown ctl end Select
next page PgDn Next Screen
previous page PgUp Prev Screen
Database Conversion Utilities
There has been surprisingly little demand for utilities to con-
vert databases from other disk indexing programs to WSSINDEX
format. The following conversion programs, not normally included
in the distribution package, can be supplied with any order at
no extra charge.
Backup Master - not exactly what I had in mind when I first
thought about conversion utilities. This is a commercial disk
backup program which produces a "history file" listing where
backup copies of files are stored. The history file is converted
into a WSSINDEX database.
Fastback Plus (under development) - Backup Master was sold to
Fastback, and the author wrote Fastback Plus. Backup log files
similar to those produced by Backup Master can be written, and
the Backup Master conversion utility is being revised to handle
these files.
Dos File Tracker - this is a disk cataloguer sold by IBM; a fair-
ly straightforward conversion.
Other formats are under consideration for future releases.
Problems and Solutions
Hard/software requirements
You must have MS- or PC-DOS level 2.0 or higher to run WSSINDEX
(3.0 for extended version) because it uses operating system fea-
tures not supported by DOS-1. If configured for DOS video out-
Wssindex 5.22 61 Split
put, WSSINDEX requires only a moderate level of IBM compatibility
to run, but your system must support ANSI escape sequences for
cursor positioning and highlighting. This support may be an
integral part of your system (as is the case for the Sanyo 55x
series without the video board option), but is often provided by
an installable device driver called ANSI.SYS (ANSI55.SYS for the
Sanyo 55x with the video board). If your system does not support
ANSI.SYS commands, you will see the control sequences on the
screen; they begin with a left arrow and a [. If you find that
you are having this problem, read about ANSI.SYS in Appendix B.
Many MS-DOS machines which are not fully IBM compatible are able
to run WSSINDEX, although often only with the slower DOS-calls
video option. Such machines often have hardware or software IBM
emulators; these may enable WSSINDEX to run. Machines with suf-
ficiently incompatible keyboards cannot run the standard version.
Versions for the DEC Rainbow and TI Professional exist or are
under development and will be released shortly after the IBM ver-
sion.
Known incompatibilities with other software
Disk Cache Warning
WSSINDEX may not be compatible with the disk cache utility Light-
ning, (old) version 4.2 (not to be confused with Borland's Turbo
Lightning). Based on user reports, it appears that if two non-
system disks (with labels but no files on them) are indexed in
succession, the volume name and directory of the second will
appear to be identical to the first. This is not a WSSINDEX bug
because it can be reproduced using the DOS VOL and DIR commands
when Lightning is active. I'm not sure exactly what circumstanc-
es will trigger the bug, and I don't have a copy of Lightning for
testing, but it is potentially catastrophic if directory informa-
tion is improperly buffered when you write to a disk. Similar
problems could conceivably also occur with other disk cache util-
ities, although none have been reported.
Incompatible TSR
A user reports that if the Word Perfect program SHELLDOS is load-
ed, the Alt-letter keys are not functional in Wssindex on his
Tandy 2000. This is an ancient report, quite likely no longer
true, but it does point out that memory resident programs can
cause unexpected side effects.
Wssindex 5.22 62 Problems
Answers to Common Questions
Q. Help, my screen is filled with garbage, mostly numbers and
square brackets, but also some text.
A. You are configured to use DOS calls for screen output, but
have not installed ANSI.SYS. If your video board is not IBM
compatible, see Appendix B for information about ANSI.SYS,
otherwise read about selecting video mode in the introduc-
tion.
Q. The menus would look better if they were enclosed in a box.
A. They are boxed if you configure for direct video writes. The
menu boxes are suppressed when using DOS calls because the
large number of cursor positioning calls makes drawing the
boxes really slow.
Q. Is Wssindex compatible with Microsoft Windows 3.x?
A. WSSINDEX (DOS version) will run under Windows, but it will
not take advantage of any Windows features and the available
memory for database storage will be less than if run from
DOS. WSSINDEX/Extended will only run under Windows in real
mode. To find out which mode Windows is in, click on Help,
About Program Manager from the Program Manager window. At
this writing I have just purchased a new extender from Ergo
which claims compatibility with all 3 Windows modes; future
releases of Wssindex/Extended will use this extender.
Q. I set up a big RAM disk to increase storage capacity, but I'm
still getting out of memory errors.
A. WSSINDEX keeps a database entirely in memory. A RAM disk in
conventional memory will only serve to decrease the memory
available to the program. If you are running out of memory,
try removing any memory resident programs such as Sidekick.
In WSSINDEX/Extended, use 286SETUP to increase memory allo-
cated to the extender and decrease memory reserved for the
DOS shell.
Q. When I print my database, I get all the volume names (and
subdirectories) first.
A. These are the "dummy entries" which give you a place to hang
comments about disks and subdirectories. You probably want
to exclude them when sorting first by file name, and include
them when sorting first by disk name. The easiest way to
Wssindex 5.22 63 Common Questions
exclude them is to use selection option -1 to reject file
name .ID.
Q. I don't have any subdirectories on my disks, yet WSSINDEX
won't let me configure for 0 subdirectories, and it tells me
I have one, even if there are no disks in the database.
A. Internally, the root directories of all disks are treated as
a single subdirectory, and this pseudo-directory is the one
you see.
Q. When I print, every other page is either blank or has only
one or a few lines printed on it.
A. Check your configuration. The number of lines on the printer
is the number of printable lines with no margin allowance.
So, if you are using 8.5x11" paper at 6 lines/inch, and ask
for 66 print lines, your printer will have just gone to the
top of a new page when WSSINDEX sends out a form feed.
Q. My laser printer only prints 60 lines/page. How can I print
your documentation file which is formatted for 66 lines/page?
A. I can supply replacement documentation formatted for differ-
ent page lengths, or WordPerfect 5.1 files. Although Word-
Perfect will attempt to convert the document to 5.0 or 4.2
format, some of the formatting does not survive conversion to
5.0, and even some of the text gets lost converting to 4.2
format.
Q. Some or all of the environment variables don't seem to work.
A. Are you setting them in your AUTOEXEC.BAT file and running
out of environment space? Often other programs run in
AUTOEXEC will clear the screen before you can read the error
message.
Q. When I try to make multi-column listings or disk covers, the
last item printed for each file is partially cut off.
A. WSSINDEX builds up a print line containing all the items
specified in the configuration, and then truncates it to fit
in the available number of columns. You need to configure
for fewer items printed, wider paper, or fewer columns.
Wssindex 5.22 64 Common Questions
Q. Why don't you extract directory information from self-ex-
tracting files?
A. Because that would require reading every EXE file to see if
it was a self-extractor, and would greatly slow indexing.
This function may be added as an option in a future release
if I can figure out the necessary file formats (not all are
documented).
Q. When I print disk covers or multi-column listings for a disk
with subdirectories, the separator line which should have the
subdirectory name just says "Subdirectory".
A. You are configured to print the subdirectory name for each
file, so the name is not shown a second time. However, the
page is too narrow to display the column of subdirectory
names, so it is truncated. The same thing can happen with
volume labels. The solution is not to configure to print
items which are truncated due to page width.
Q. I use ANSI.SYS to redefine my function keys. Wssindex sees
these redefinitions so I can't use F10 to get out of the add-
comments screen.
A. If your machine is reasonably IBM compatible, set the "Use
BIOS to read keyboard" option to YES.
Q. I can't seem to make the push-to-DOS option work, even with
lots of memory free.
A. Does the COMSPEC environment variable specify a complete
path? If COMMAND.COM (or whatever) is in the root, COMSPEC
says d:COMMAND.COM rather then d:\COMMAND.COM, and you are
logged into a subdirectory, COMMAND.COM will not be found.
Q. I have an ARC file which PKXARC or PKUNPAK says is ok, but
WSSINDEX says it is corrupt.
A. The PKWare extraction program will silently skip over any
ascii text which is prepended to an ARC file. SEA's ARC will
warn you that it is doing this. The one file I have seen
with this problem had the text "Ready to send file with
XMODEM protocol" prepended. The solution is to extract the
files and recreate the archive.
Wssindex 5.22 65 Common Questions
Command Line Parameter Summary
The various programs in the WSSINDEX package accept optional com-
mand line parameters. Summarized below are the parameters recog-
nized by each program. Names in upper case are the default file
names, other abbreviations are:
cnf- a configuration file. Default name set by environment vari-
able WSSICNF, otherwise WSSINDEX.CNF.
dir - a database file, Default name set by environment variable
WSSIDIR, otherwise WSSINDEX.DIR.
* - use default.
= - generate database name from configuration file name by adding
.DIR extension.
cat1,2 - categories to be assigned to all files from first or
second database. Hyphen means none. Multi-word categories
should be enclosed in quotes.
WSSINDEX cnf dir
* *,=
IDADD cnf dir
* *
SPLIT cnf dir 1ST_HALF.DIR 2ND_HALF.DIR
* *,= * *
WSSMERGE cnf 1ST_HALF.DIR 2ND_HALF.DIR MERGED.DIR cat1 cat2
* * * * - -
Support
The DOS version of WSSINDEX is distributed as shareware. In
various past releases, the shareware program file has ranged from
identical to the registered version to limited to a 1000 file
database. Currently, the shareware executable displays an open-
ing commercial, but is otherwise identical to the version sent to
purchasers (and as an ASP member, I have pledged not to release
crippled software). If you purchase the complete package, you
will receive the demo package which you can distribute, plus a
replacement for WSSINDEX.EXE without the opening commercial and
instructions for removing whatever limitations are included in
future demo releases. See page 69 or the file ORDERFRM.DOC for a
Wssindex 5.22 66 Command Line Parameters
fee schedule and order form. Orders and inquiries should be
directed to:
Robert W. Babcock
WSS Division of DDC
4 Reeves Road
Bedford, MA 01730
USA
Phone: 617-275-1183 or 9104
Email addresses:
BIX: rbabcock
BitNet: babcock@cfa
Internet: babcock@cfa.harvard.edu
Compuserve: >INTERNET:babcock@cfa.harvard.edu
(babcock@cfa... goes to a server machine which forwards mail to
my current address. Mail I send out may have a return address
which is only valid for a limited time.)
The 1183 number above has an answering machine which serves both
my business and household, so don't be surprised if the recorded
announcement says you have reached the Babcock household. The
9104 number does not have an answering machine, so that's the one
to try first if you want to talk to a real person. I don't mind
receiving phone calls, but you will probably only get to leave a
short message before my answering machine cuts you off. I do try
to respond to all correspondence. If you do call, the best times
to try would be early weekday mornings, weekend afternoons, or
evenings 8:45-10:00 (Eastern time) any day but Thursday. If you
don't get a call back within a few days, it usually means that I
called and got no answer. Please try again or send a letter.
If you have a bug report, please mention the version number and
describe your machine and operating environment in as much detail
as seems appropriate. If I am unable to reproduce a reported
problem I may ask you to send a copy of your database, but usual-
ly this is not required. Reports of incompatibility with partic-
ular brands of machine will always be accepted even from unregis-
tered users (I can hardly ask you to buy the complete package if
the program doesn't work on your machine).
The Distribution Package
You should have received the following files, possibly combined
in one or more self-extracting or archive files. Version numbers
for the various executables (nnn in the names below) may not all
be the same. Demo versions of executables will have a D appended
to the file name, Rainbow and TI Pro versions will have respec-
tively an R or T appended to the file name (and the name will
vary slightly if this would make it longer than 8 characters).
Wssindex 5.22 67 Support
286SETUP.EXE - (WSSINDEX/Extended only) a setup utility for con-
trolling the amount of memory used by the DOS ex-
tender.
BUGLIST.DOC - a list of known bugs in previous versions and a
summary of enhancements.
CGA.CNF - configuration file selecting CGA (color graphics
adapter) video, other options set to default val-
ues.
CUTPAST3.COM,.DOC - a public domain cut and paste utility, re-
quires a somewhat higher degree of IBM compatibil-
ity than WSSINDEX. RPN.COM substituted with Rain-
bow version.
DOSCALLS.CNF - configuration file selecting all default options,
including DOS calls video output.
IDADDnnn.EXE - a utility to modify old WSSINDEX databases so that
comments may be assigned to disks and subdirec-
tories, not just files.
LATEST.VER - list of current version numbers.
MDA.CNF - configuration file selecting MDA (monochrome dis-
play adaptor) video, other options set to default
values.
PRNDEF.DOC - a description of the various included printer
definition files.
*.DEF - printer definition files.
README.DOC - a very brief description of the other files.
SCREEN.DEF - printer definition file optimized for screen out-
put (used by CUSTPRNT)
SITELIC.DOC - a sample site license agreement.
SPLITnnn.EXE - database splitting utility.
TUNE.EXE - (WSSINDEX/Extended only) utility to configure DOS
extender for your hardware.
VIEW.COM - a simple, public domain document viewing utility.
VIEW.DOC - documentation for VIEW.COM
WHATMEM.EXE - (WSSINDEX/Extended only) utility which reports how
much extended memory is available.
WSEXTnnn.EXE - (WSSINDEX/Extended only) protected mode main exe-
cutable.
WSSInnn.DOC - this documentation file in ascii form.
WSSInnn.WP - (registered version only) this documentation in
Word Perfect 5.1 format.
WSSInnn.EXE - (registered version only) WSSINDEX, the main exe-
cutable program.
WSSInnnD.EXE - evaluation version of WSSINDEX, the main execut-
able.
WSSMnnn.EXE - WSSMERGE, a utility for merging WSSINDEX databas-
es.
Wssindex 5.22 68 Distribution Package
Ordering Information
WSSINDEX Price schedule
This fee schedule replaces any previous editions, except for site
license agreements previously in effect. All prices are in US
dollars. Extended version includes the DOS version.
Registration Level Wssindex (DOS) Wssindex/Extended
Level 1 Single user $35 $50
Level 2 2-10 users $10 + 25 per user $15 + 35 per user
Level 3 11-20 users $60 + 20 per user $115 + 25 per user
Level 4 21-50 users $160 + 15 per user $215 + 20 per user
Level 5 51-100 users $410 + 10 per user $465 + 15 per user
Level 6 101-500 users $910 + 5 per user $965 + 10 per user
Level 7 >500 users $3410 $5965
Evaluation copy (DOS versions only) $5.00
(cost credited towards purchase of complete package)
Upgrade (plus shipping)
DOS 5.00
Extended 5.00
DOS to Extended 15.00
Printed manuals (including postage)
USA or Canada 10.00
Other countries 16.00
Media, shipping and handling, required for all orders
USA and Canada 2.50 ($2 evaluation)
Other countries 4.50 ($4 evaluation)
Check not drawn on US bank
Canada 1.00
Elsewhere (avoid if possible) 15.00
Registration level upgrade
price differential between old and new levels plus $10 ser-
vice charge
Please include sales tax or exemption number for orders delivered
in Massachusetts.
Software upgrades: your license covers all future versions of
WSSINDEX and related utilities. Level 2 registrants will auto-
matically be sent one copy of the next release of WSSINDEX.
Level 3, 4, 5, 6 and 7 registrants will be sent one copy of all
new releases made, respectively, in the 6 month, 12 month, 18
month, 2 year or 3 year period following purchase.
Wssindex 5.22 69 Order Info
Notes:
1. The DOS version of WSSINDEX is distributed as shareware.
WSSINDEX is not and has never been public domain software.
If you have received the evaluation version, you are granted
a limited license to evaluate it to see if it meets your
needs. After a 60 day evaluation period, you are expected to
either register or stop using the program. With a paid reg-
istration (and postage) you will receive a copy of the cur-
rent evaluation release, plus a replacement for the main rou-
tine which does not display the opening screen and a personal
password for disabling the opening screen from future evalua-
tion releases. The evaluation version may be distributed to
other users for their evaluation.
2. WSSINDEX is mainly written in Turbo C (with a little assembly
language code), but it uses a few routines derived with only
small modifications from the Computer Innovations C86 source
library. This makes it essentially impossible for me to sell
source code, although something could probably be worked out
if someone had a sufficient need.
3. I recognize that determining the exact number of users is im-
possible in a large organization. A good faith estimate is
sufficient. When counting users, you may use the "like-a-
book" rule: just as a book can only be read by one person at
a time, it should not be possible for more than the licensed
number of users to use the software simultaneously.
4. This price schedule is continuous at the price breaks. It is
never true that the total cost decreases when you add another
user, but the marginal cost declines, eventually reaching
zero at the highest registration level.
5. The question may arise in this era of multi-national corpora-
tions, who can be covered under a single site license? The
answer is a single company including wholly owned subsidiar-
ies. For complicated situations, please contact WSS Division
of DDC for a price quote.
6. If you have needs which might be met by a special version of
WSSINDEX, or a related custom utility, please contact the au-
thor at the address below for estimates of feasibility, cost
and development time.
7. To register or to upgrade, you may print copies of the order
form below or use any convenient form. Please pay by check;
I can handle purchase orders, but I cannot take credit cards.
Checks may be made payable to Robert W. Babcock or to WSS
Division of DDC. If you have any comments about the program,
please attach them and indicate which version they apply to.
Wssindex 5.22 70 Order Info
8. The charge for bug correction upgrades (only last digit of
version number changed) is only the shipping and handling fee
($2.50 US and Canada, $4.50 elsewhere), or free if a bug be-
ing fixed substantially interfered with your use of the pro-
grams.
9. If you need a receipt for tax or accounting purposes, check
the appropriate box. Otherwise, you will receive a letter
with your personal password.
Wssindex 5.22 71 Order Info
WSSINDEX ORDER FORM
To: WSS Division of DDC Date: ___/___/___
4 Reeves Road Version registered ___5.22____
Bedford, MA 01730
Name _____________________________ Phone ____________
Company _____________________________
Address _____________________________
_____________________________
City _________________ State ________ Zip _________
Check appropriate boxes: [ ] Printed manual (else docs on disk)
[ ] Full registration [ ] Evaluation copy (DOS only) [ ] Upgrade
[ ] Site license [ ] Bug fix upgrade, postage fee only
[ ] Please send receipt (in addition to letter with password)
Disk format: [ ] 5.25", 360K [ ] 3.5", 720K
[ ] 5.25", 1.2MB [ ] 3.5", 1.44MB
Version: [ ] IBM PC & most compatibles [ ] Extended for 286/386/486
[ ] DEC Rainbow (MS-DOS) [ ] TI Professional
Description Price Total
WSSINDEX/Extended New Reg. $50.00
or upgrade 5.00
DOS to Extended upgrade 15.00
WSSINDEX Registration 35.00
or Upgrade 5.00
Demo evaluation copy 5.00
Printed manual (US/Canada) 10.00
elsewhere 16.00
Massachusetts sales tax (Mass only)
Postage US/Canada 2.50 2.50 ($2.00 for demo)
other countries 4.50
Non-US bank check
(see fee schedule)
Site license for ___ users
------
Amount due:
Appendix A - Forcing Video Board Type if Autodetection Fails
Wssindex attempts to identify the type of video adapter installed
so that it can update the screen by writing directly to video
memory. If Wssindex does not recognize your video adapter it
will instead use ANSI escape sequences for highlighting and cur-
sor positioning. If your system is not configured to respond to
these sequences, the screen display will be unusable. Instruc-
tions for adding this capability to your system are given in
Appendix B, but for most machines performance will be much better
if you tell Wssindex which video driver to use. Available driv-
ers support monochrome display adapter (MDA) color graphics
adapter (CGA), EGA and VGA. Since Wssindex is strictly a text
mode application, other types of video board will normally emu-
late one of these. As part of the standard distribution package,
you should find configuration files MDA.CNF and CGA.CNF. Figure
out which one is appropriate for your hardware, and invoke
WSSINDEX by
WSSINDEX CGA
or WSSINDEX MDA
(note that the extension .CNF is supplied automatically if you
leave it off. You can specify a drive or path if necessary.)
Use CGA.CNF for initial setup with an EGA and VGA; these cards
are compatible with a CGA except for setting border colors.
Alternatively, before starting you can issue one of the DOS com-
mands
SET WSSDISP=monochrome
SET WSSDISP=color
SET WSSDISP=ega
or SET WSSDISP=vga
as appropriate to set the default screen writing method. If you
select the wrong display type, you may find yourself "flying
blind" and a reboot will likely be necessary although you might
be able to recover by hitting escape a few times and then con-
trol-q. Once you get running with the proper video type select-
ed, save a configuration file with the default name WSSINDEX.CNF.
Some non-IBM-compatible machines, such as the Sanyo 555, may hang
when Wssindex attempts to determine the video type. If you want
to force Wssindex to use ANSI escape sequences without performing
the video type checks, use SET WSSDISP=doscalls. (Any recognized
setting of WSSDISP prevents the video type checking.) There is
also a DOSCALLS.CNF configuration file included in the standard
distribution, but the configuration file is read after the video
type checks.
Wssindex 5.22 73 Appendix A
Appendix B - ANSI.SYS Screen Driver
MS/PC-DOS 2 and higher allow you to install software "device
drivers" when you boot your computer. These are essentially
extensions of the operating system to handle specific pieces of
hardware. If WSSINDEX is configured to use DOS calls for screen
output, most systems will need to use the screen driver ANSI.SYS,
otherwise the control sequences which are supposed to select
colors, position the cursor or clear the screen will instead
appear as characters on the screen.
Installation of ANSI.SYS is simple: Check your boot disk with
the DIR command to see if you have a file called CONFIG.SYS in
the root directory. If not, use your favorite word processing
program to create such a file, and include in it the line
DEVICE=ANSI.SYS
Either upper or lower case is allowed, but if you use an editor
such as WordStar which can encode formatting information in the
text, be sure to specify non-document mode. If you TYPE
CONFIG.SYS, you shouldn't see any funny graphics characters. If
you already have a CONFIG.SYS file, simply add the above line to
it with a word processor, again in non-document mode.
Make sure that the file ANSI.SYS is on your boot disk, then re-
boot your system. Watch for any error messages during the boot
process. The display should now be much more intelligible when
you run WSSINDEX in DOS calls mode.
Notes:
1. The Dec Rainbow and the Sanyo 555 (without the video board
option) don't need ANSI.SYS because these functions are built
into the operating system. There are probably other machines
for which this is also true. It is verrrrrry obvious if you
lack ANSI support.
2. ANSI.SYS is not particularly fast at screen display. There
are alternative commercial, shareware and public domain pro-
grams with names like FANSI.SYS, NANSI.SYS, which do a some-
what better job on IBM-PC compatibles. Also, different ver-
sions of ANSI.SYS and replacements support different com-
mands. I believe that WSSINDEX now uses only commands sup-
ported by all ANSI.SYS variants, but this was not true in
early releases.
3. A user once complained that ANSI.SYS interfered with some
other applications software, but normally having it installed
all the time will do nothing worse than use up a little memo-
ry. However, ANSI.SYS also supports control sequences to
redefine keys. A rogue program could play games like rede-
Wssindex 5.22 74 Appendix B
fining some key to mean DEL *.* or FORMAT C: with the appro-
priate confirmation. PC Magazine published an ANSI.SYS re-
placement which could be configured to not allow key redefi-
nitions; other ANSI.SYS replacements may have similar op-
tions.
Appendix C - Expanding the DOS Environment
MS-DOS versions 2.0 and higher reserve an area of memory called
the environment space which can be used to hold strings of the
form
VARIABLE=value
You can view the environment variables by typing SET, or you can
change them by typing SET something=whatever. DOS puts the PATH,
PROMPT and COMSPEC variables here. Wssindex looks in the envi-
ronment for WSSICNF, WSSIDIR, WSSDISP and WSSPRINT, and other
programs do similar things. By default, the environment space is
only 160 characters long (256 in DOS 5), and if you have more
than one or two programs using the environment, you may get an
"out of environment space" error from DOS. This message is most
likely to occur when the SET commands are in a BAT file because
DOS is able to expand the environment beyond 160 bytes only if
there is nothing in the way. Running a BAT file (including
AUTOEXEC) gets in the way until the BAT file exits, as does load-
ing a terminate-and-stay-resident program.
The initial environment size can be increased easily, if you are
using DOS 3.0 or higher, by the SHELL directive in your
CONFIG.SYS file. The syntax is
SHELL = [path]COMMAND.COM [path] /P /E:nnn
where nnn specifies the environment size. For DOS 3.0 and 3.1,
nnn is in paragraphs (16 bytes); for DOS 3.2 or higher it is in
bytes, and is rounded up to a multiple of 16. Don't forget to
include the /P or else your AUTOEXEC.BAT file will not be execut-
ed. The second [path] tells COMMAND.COM where to reload its
transient portion from. Typically both paths are the same. Any
change will not take effect until you reboot.
The DOS 2.x SHELL directive does not recognize the /E option, so
the only way to increase the default environment size is to patch
COMMAND.COM. Also, under any DOS version, if you load a second-
ary command processor (S option from Wssindex), the size environ-
ment you will have until you exit is the larger of the current
environment and the 160 or 256 byte default. Microsoft supplies
a utility called SETENV with some of its compilers to change the
default environment size, but it does not recognize COMMAND.COM
from all vendors (for example, it doesn't recognize COMMAND.COM
for my old Sanyo 555). It isn't too difficult to do the patch by
Wssindex 5.22 75 Appendix B
hand; details are given in an article by Richard Hale Shaw, PC
Magazine, April 14, 1987, page 295.
Appendix D - WSSINDEX Database Format
This is a description of the format of a WSSINDEX database. This
information is not needed for normal program operation, but may
be useful if you want to write a program to convert an existing
database into a WSSINDEX database, read the database with another
program to produce a customized listing, or recover a damaged
disk file. This description may be easier to follow if you use
it as a guide while examining a small database with DEBUG or some
other utility.
Dates and times are stored in the same format as used in an FCB.
Date has 7 bits for years since 1980, 4 bits for month, 5 bits
for day. Time has 5 bits for hour, 6 bits for minute, 5 bits for
second.
The database is stored with disks in the order they are indexed
and files in the order of the disk directories.
Wssindex/Extended can write two formats, the "small" format which
is compatible with the DOS version and the "large" format which
allows for more than 16K files.
Notation:
\n - a newline, that is an ASCII linefeed, hex 0A
\EOS - end of string marker, hex 0
* - a field dependent on the WSSINDEX version
var - variable length
Length Contents
(bytes)
Header:
9 "WSSINDEX\n" (small format) of "WSEXTEND\n" (large
format)
4-6* version number\n
2 or 4 number of disks in database, 4 bytes if large format
2 or 4 number of subdirectories (including root), 4 bytes if
large format
2 or 4 number of files, 4 bytes if large format
Disk record, repeated for each disk:
11 volume name, blank padded to 11 chars (no \n or EOS)
4 bytes on disk
4 free bytes on disk
2 or 4 number of files on disk, 4 bytes if large format
Wssindex 5.22 76 Appendix C
2 or 4 number of subdirectories on disk (not counting root),
4 bytes if large format
2 date indexed
1 "Y" or "N" for bootable or not, "?" for dummy entry
Subdirectory record, repeated for each subdirectory:
2 or 4 disk number, count starts at zero, 4 bytes if large
format
var subdirectory name\n
File record, repeated for each file:
9 file name\EOS there may be garbage after the \EOS.
\EOS is 1st character if this is a .ID record
4 extension\EOS there may be garbage after the \EOS
2 date
2 time
4 size
2 or 4 disk number, high bit set if file is a member of an
archive file, 4 bytes if large format
2 or 4 subdirectory number (root is 0) for ordinary file,
file number of containing archive file for archive
member, 4 bytes if large format
1 "C" (if commented), else blank
var comment\n if comments flag is "C"
1* "C" (if categorized), else blank; field only present
if written by version 2.00 or later
var* category\n if category flag is "C"
Note that there is not a control-Z to mark the end of file, and
there may be embedded control-Z's in the binary fields (date,
time, size, etc.).
This information is subject to change in future releases. Howev-
er, I do guarantee that WSSINDEX will always be able to read
databases written by older versions of the program (possibly with
a conversion utility). Note that this guarantee does not apply
to configuration files.
Appendix E - Printer Definition Files
Some of the Wssindex output options need to be able to set the
print pitch and line spacing on your printer (e.g., printing disk
covers or labels which require small print). Unfortunately,
there is no standard way to do this; all printers are different.
So, Wssindex must be told how to control your printer. You sup-
ply this information in a printer definition file. (I'd call it
a configuration file, but that term is already being used.) The
name of the printer definition file is set by the environment
variable WSSPRINT, analogous to WSSICNF and WSSIDIR. If not
specified, the default name is WSSPRINT.DEF. The file is read
Wssindex 5.22 77 Appendix D
the first time a print operation which needs the definition file
is requested, or when you select "E" from the print menu.
The standard distribution package includes definition files for
several popular printers. Some of these have been tested on
printers available to me, some have been donated by users, and
some were created by looking at printer manuals or driver files
from word processing programs. The comments at the beginning of
each file indicate whether or not the file has been properly
tested. If none of the supplied definition files is adequate for
your printer, you will need to look up control codes in your
printer manual and modify one of the supplied files. I realize
that it would be better if I supplied definition files for hun-
dreds of different printers, but I don't have the resources to
create and test them. Registered users who have problems config-
uring should send me a photocopy of the appropriate pages from
their printer manual (usually the control codes are summarized in
a few pages) and I will try to assist. Of course, it may be that
your printer does not accept any commands, in which case you must
make any necessary selections manually.
The format of the definition files is designed for easy editing
with a word processing program. The file begins with as many
lines of comments as desired, until a line beginning with ---- is
encountered. After this, alternate lines are comments and param-
eters. The comment lines are ignored when the file is read, but
since they tell you what the parameters mean, the only changes
you should make are to add more detail. Printer command strings
can be omitted, but other parameters should have a value filled
in.
Characters in the printer definition (other than the printer name
and owner id) are interpreted as a series of tokens optionally
separated by blanks or commas. Each token may be an octal, deci-
mal, or hex number, an ascii character, or a special abbrevia-
tion. Blank or comma delimiters are only necessary to resolve
ambiguities about where one token ends and the next begins, but
are recommended to improve human readability.
Octal numbers - begin with a 0, contain only the digits 0-7, and
are not larger than 377. Terminated by a comma, blank or special
abbreviation.
Decimal numbers - begin with a non-zero digit and are not larger
than 255. Of course, zero is entered as 0. Terminated by a
comma, blank or special abbreviation.
Hexadecimal numbers - begin with 0x or 0X and are not larger than
0xff. Letters A-F (if used) can be lower or upper case. Termi-
nated by a comma, blank or special abbreviation.
Wssindex 5.22 78 Appendix E
Ascii characters - any normal character other than a number,
comma, blank or backslash. No terminator needed.
Special abbreviations (may also be upper case) -
\digit - number as a character rather than a binary value
\b - backspace
\c - comma
\e - escape
\f - form feed
\n - newline (linefeed)
\r - carriage return
\s - blank (space)
\t - tab
\\ - \
Be careful of numbers; 1 means the binary value 1 while \1 means
the ascii character one which has the binary value 31 hex or 49
decimal. Printer manuals often are unclear about this distinc-
tion.
To make the entries in the printer definition file more readable,
I have adopted the convention that entries which code for a sin-
gle output byte are separated by blanks, and the groups of char-
acters which make up a single command to the printer are separat-
ed by commas. For example: suppose you want to set an Epson
printer to
8 lines per inch (command ESC "0") (character 0)
12 characters per inch (command ESC "B" 2)
double strike (command ESC "G")
The printer definition file entry could be: \e \0,\e B 2,\e G
To continue a sequence on the following line, terminate the cur-
rent line with a backslash. There is a conversion table in Ap-
pendix E which may be useful in creating definition files.
Margins, width and length specifications in this file override
those found in WSSINDEX.CNF when printing labels or covers.
The definable items are:
Printer name - echoed to the screen during initialization, but
otherwise not used.
Three sets of printer initialization commands - 50 chars max.
(That's 50 characters after converting to internal form. Multi-
digit numbers count as one character, and blanks don't count at
all.) The first set is used for multi-column printing, the sec-
ond for disk labels, and the third for disk covers. Typically
this would include commands to select the number of characters
Wssindex 5.22 79 Appendix E
per inch printed and line spacing. You may also be able to get
very small characters by selecting subscript or superscript mode,
although some printers (like mine) are slow in this mode and do
not print characters with descenders very well. You can also
include any other necessary initialization commands here, such as
bold printing or form length.
Printer deinitialization command - 50 chars max. This command
string is sent to the printer after a print task is completed.
It could include a form feed to eject the last page from a laser
printer, or could reset default printer options.
Left margin for labels - number of print positions to leave blank
before printing the first column of labels.
Number of columns for labels - the number of blank labels across
a row of your forms.
Width of labels - The number of characters which will fit across
a label (starting from the left margin). This effectively de-
fines the right margin.
Number of characters between labels - for multi-column forms,
this is the number of characters between the right margin of one
label and the left margin of the next.
Length of label in lines - label size, including top and bottom
margin lines which you don't want to print on.
Number of usable lines for label - maximum number of lines to
print on a label.
Left margin for disk covers - number of print positions to leave
blank before printing left side of box which surrounds disk cov-
ers.
Width of paper for disk covers - number of characters which will
fit in 5.25 inches (or 3.5 or whatever disk size you use).
Length of page in lines for disk covers - number of lines which
will fit in 5.25 inches (or 3.75 inches for paste-on size).
Position for the next disk cover - 70 characters max. Printer
command to position the paper for the next disk cover. This
could be a form feed, or a number of line feeds. A 0 (zero) here
is interpreted to mean manual positioning, with a pause at the
end of each cover.
Command to use for sides of disk cover box - 70 characters max.
Disk cover listings have a border drawn around them. The sides
of this border could be a vertical stroke, or your printer may
have a better graphics character available. If no suitable char-
Wssindex 5.22 80 Appendix E
acter is available, or for faster printing, just use a blank
(32). Characters which form boxes on a printer may display very
differently on screen.
Command to use for top and bottom lines - 70 characters max.
Probably a hyphen or a graphics character.
Command to use for top left corner - 70 characters max. If your
printer has box forming characters in its graphics character set,
use them for the corner characters, otherwise you can use the
same character as the top or sides, or a blank, or a plus, which-
ever you think looks best.
Command to use for top right corner - 70 characters max.
Command to use for bottom left corner - 70 characters max.
Command to use for bottom right corner - 70 characters max.
End of printer definition file
----------
Additional items may be added to this file in future releases if
users report that there are printers which cannot be adequately
defined. If you create a definition file for a different print-
er, especially a laser printer, I would appreciate receiving a
listing so that I will have it when the inevitable cries for help
come in from other users.
Registered users are encouraged to suggest the custom print for-
mats which they would like to see added to Wssindex.
Wssindex 5.22 81 Appendix E
Appendix F - Character Code Conversion Table
ascii decimal hex ascii decimal hex ascii decimal hex
NUL 0 0 + 43 2B V 86 56
SOH 1 1 , 44 2C W 87 57
STX 2 2 - 45 2D X 88 58
ETX 3 3 . 46 2E Y 89 59
EOT 4 4 / 47 2F Z 90 5A
ENQ 5 5 0 48 30 [ 91 5B
ACK 6 6 1 49 31 \ 92 5C
BEL 7 7 2 50 32 ] 93 5D
BS 8 8 3 51 33 ^ 94 5E
TAB 9 9 4 52 34 _ 95 5F
LF 10 A 5 53 35 ` 96 60
VT 11 B 6 54 36 a 97 61
FF 12 C 7 55 37 b 98 62
CR 13 D 8 56 38 c 99 63
SO 14 E 9 57 39 d 100 64
SI 15 F : 58 3A e 101 65
DLE 16 10 ; 59 3B f 102 66
DC1 17 11 < 60 3C g 103 67
DC2 18 12 = 61 3D h 104 68
DC3 19 13 > 62 3E i 105 69
DC4 20 14 ? 63 3F j 106 6A
NAK 21 15 @ 64 40 k 107 6B
SYN 22 16 A 65 41 l 108 6C
ETB 23 17 B 66 42 m 109 6D
CAN 24 18 C 67 43 n 110 6E
EM 25 19 D 68 44 o 111 6F
SUB 26 1A E 69 45 p 112 70
ESC 27 1B F 70 46 q 113 71
FS 28 1C G 71 47 r 114 72
GS 29 1D H 72 48 s 115 73
RS 30 1E I 73 49 t 116 74
US 31 1F J 74 4A u 117 75
32 20 K 75 4B v 118 76
! 33 21 L 76 4C w 119 77
" 34 22 M 77 4D x 120 78
# 35 23 N 78 4E y 121 79
$ 36 24 O 79 4F z 122 7A
% 37 25 P 80 50 { 123 7B
& 38 26 Q 81 51 | 124 7C
' 39 27 R 82 52 } 125 7D
( 40 28 S 83 53 ~ 126 7E
) 41 29 T 84 54 DEL 127 7F
* 42 2A U 85 55
Three letter combinations are non-printing control characters.
Wssindex 5.22 82 Appendix F
In WSSINDEX versions for non-IBM compatible machines, all of the
executable files are different, but this documentation file is
unchanged. Beware of trying to transfer configuration files be-
tween versions of WSSINDEX for different machines. Generally,
this is only safe if DOS-calls video is selected, and even then
you should examine the transferred configuration for any anoma-
lies. Printer definition files and databases are transferable
between versions.
Appendix G - WSSINDEX for DEC Rainbow
I now own a minimally configured Rainbow 100A for testing so
Rainbow and IBM releases should be roughly coincident. Rainbow
versions will normally be sent on RX-50 format disks, which I can
write either on the Rainbow or on a 1.2 MB drive using a special
device driver.
The Rainbow version of WSSINDEX is the same as the IBM version
with the following exceptions:
1. Color is not supported but fast video display and 132 column
screens are supported. For fast video, specify SET WSSDISP=V
or use the included RAINBOW.CNF configuration file.
2. The add-comments menu uses a different set of keys, which are
shown in the menu. Keyboard macros are triggered by COMPOSE
CHARACTER or F20 followed by a letter rather than Alt-letter.
For hardware reasons, the COMPOSE key can only be used as a
function key on a 100A, so I have dropped it from the
on-screen menus.
3. Use the CANCEL key rather than the ESCAPE key to cancel com-
mands. If the screen gets messed up, the MAIN SCREEN key
forces a screen reset the next time the screen is cleared.
4. HELP, F19 and F4 substitute for Alt-F1, END and control-END.
5. Line editing uses the delete key rather than the backspace
key (actually either can be used).
6. The version number has an "R" appended. A database stored on
disk will be one byte longer, but readable by an IBM version
of the program (assuming you can get around disk format in-
compatibilities).
7. The cut-and-paste program CUTPAST3 doesn't work on a Rainbow.
I instead include RNP.COM, but it is not really equivalent.
VIEW.COM doesn't work either, and I do not know of an alter-
native viewer.
Wssindex 5.22 83 Appendix G
Appendix H - WSSINDEX for TI Professional
I now own a minimally configured TI Pro for testing, so Pro and
IBM releases should be roughly coincident.
The Texas Instruments Professional computer does not have IBM
compatible video, so the standard version cannot run using direct
video writes. Also, there is a bug in the TI ANSI.SYS support
which prevents color selection from working properly. Patches to
fix this are available, but they depend on the DOS version being
used. They should not be necessary if direct video writes are
enabled. (While I have some of the patch files, I do not have
one for the version of DOS which came with my TI Pro. However, a
user verifies that color selection works properly in DOS calls
mode.)
The major difference in the TI Pro version is that the screen
output routines know how to access the TI video hardware. Ad-
justments are also made for IBM keys not found on the TI key-
board.
The built-in default colors are not appropriate for the TI Pro; I
suggest using the included TI.CNF file as a starting point for
configuring. Set WSSDISP=V for fast screen updating by direct
video writes.
Wssindex 5.22 84 Appendix H
Appendix I - Parameters for setting screen sizes
Video board BIOS's often support text modes beyond the usual 80
columns 25 rows. Unfortunately, there are few standards for
selecting these modes. In particular, the modes wider than 80
columns, which can be very useful when viewing a database with
comments, cannot be set without knowing what brand of video card
is in use. The table below lists the AX values which need to be
entered into the Video Board Configuration menu and the resulting
screen sizes. (BX value is also listed for the Vega VGA.) Modes
are color unless specified as mono. Available modes may be lim-
ited by the amount of video memory on your board, or by the capa-
bilities of your monitor. If your board is not listed here, your
manual may include the necessary information. Note that the AX
value listed here is decimal and the selected mode must be an
alpha mode, not a graphics mode.
The first 5 entries should work with almost any video board.
AX=2,3 or 7 is usually what you want to set when exiting or push-
ing to DOS.
Board AX Screen size Board AX Screen size
CGA (or 2 80x25 mono AT&T 84 132x43
higher) 3 80x25 VDC600 85 132x25
MDA 7 80x25 mono 86 132x43 2-color
EGA 4370 80x43 87 132x25 2-color
VGA 4370 80x50
2-the-Max 34 132x44 2-color ATI EGA 35 132x25
VGA 36 132x28 2-color Wonder 39 132x25 mono
37 132x25 2-color 51 132x44
38 80x60 2-color 55 132x44 mono
42 100x40 2-color 88 80x33
ATI VIP 35 132x25
Ahead Sys 34 132x44 39 132x25 mono
EGA2001 35 132x25 51 132x44
80 132x25 mono 55 132x44 mono
82 132x44 mono 85 80x66
88 80x33
Allstar 34 132x43 89 80x66
Peacock 35 132x28
36 132x25 ATI VGA 51 132x44
38 80x60 Wonder 35 132x25
42 100x40 55 132x44 mono
39 132x25 mono
AST VGA 84 132x43
Plus 85 132x25 Hewlett- 84 132x43
Packard 85 132x25
D1180A
Wssindex 5.22 85 Appendix I
Board AX Screen size Board AX Screen size
Lava 80 80x34 Tseng 24 132x44 mono
Chrome 81 80x30 Labs 25 132x25 mono
II EGA 82 80x60 EVA 26 132x28 mono
83 132x43 34 132x44
84 132x25 35 132x25
36 132x28
NSI Smart 86 132x43 38 80x60
EGA+ 87 132x25
VEGA VGA BX AX=28421
Paradise 81 80x30 64 80x43
EGA-480 84 132x43 65 132x25
85 132x25 66 132x43
67 80x60
Paradise 84 132x43 68 100x60
VGA 85 132x25 77 120x25
86 132x43 78 120x43
87 132x25 79 132x25
80 80x43 mono
Tatung 64 80x43 81 132x25 mono
VGA 65 132x25 82 132x43 mono
66 132x43
67 80x60 Video 7 64 80x43
68 100x60 V-RAM 65 132x25
69 132x28 66 132x43
67 80x60
Taxan 565 84 132x43 68 100x60
EGA 85 132x25 69 132x28
86 132x43 mono
87 132x25 mono
Tecmar 23 132x25
VGA/AD 64 80x43
Wssindex 5.22 86 Appendix I